Crate assert_cli [−] [src]
Test CLI Applications
Currently, this crate only includes basic functionality to check the output of a child process is as expected.
Example
Here's a trivial example:
assert_cli::assert_cli_output("echo", &["42"], "42").unwrap();
And here is one that will fail:
assert_cli::assert_cli_output("echo", &["42"], "1337").unwrap();
this will show a nice, colorful diff in your terminal, like this:
-1337
+42
Alternatively, you can use the assert_cli!
macro:
assert_cli!("echo", &["42"] => Success, "42").unwrap();
All exported functions and the macro return a Result
containing the
Output
of the process, allowing you to do further custom assertions:
let output = assert_cli!("echo", &["Number 42"] => Success).unwrap(); let stdout = std::str::from_utf8(&output.stdout).unwrap(); assert!(stdout.contains("42"));
Make sure to include the crate as #[macro_use] extern crate assert_cli;
.
Macros
assert_cli! |
The |
Functions
assert_cli |
Assert a CLI call |
assert_cli_error |
Assert a CLI call that fails with a given error code. |
assert_cli_output |
Assert a CLI call returns the expected output. |
assert_cli_output_error |
Assert a CLI call that fails the expected |