trycmd 0.12.0

Snapshot testing for a herd of CLI tests
Documentation

trycmd

Snapshot testing for a herd of CLI tests

Documentation License Crates Status

trycmd aims to simplify the process for running a large collection of end-to-end CLI test cases, taking inspiration from trybuild.

Example

Here's a trivial example:

#[test]
fn cli_tests() {
    trycmd::TestCases::new()
        .case("tests/cmd/*.trycmd");
}

See the docs for more.

Users

Relevant crates

For testing command line programs.

  • assert_cmd for test cases that are individual pets, rather than herd of cattle
  • escargot for more control over configuring 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.

For snapshot testing:

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.