assert_cmd 0.12.2

Test CLI Applications.
Documentation

assert_cmd

Assert process::Command - Easy command initialization and assertions.

Build Status Documentation License Crates Status

assert_cmd aims to simplify the process for doing integration testing of CLIs, including:

  • Finding your crate's binary to test
  • Assert on the result of your program's run.

Install

Add to your Cargo.toml:

[dependencies]
assert_cmd = "0.12.2"

Example

Here's a trivial example:

use assert_cmd::Command;

let mut cmd = Command::cargo_bin("bin_fixture").unwrap();
cmd.assert().success();

See the docs for more.

Relevant crates

Other crates that might be useful in testing command line programs.

  • escargot for more control over configurin the crate's binary.
  • duct for orchestrating multiple processes.
  • rexpect for testing interactive programs.
  • assert_fs for filesystem fixtures and assertions.
    • or tempfile for scratchpad directories.
  • dir-diff for testing file side-effects.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.