Skip to content
forked from assert-rs/snapbox

Snapshot testing for a herd of CLI tests

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

indygreg/trycmd

 
 

Repository files navigation

trycmd-indygreg-fork

This is a soft fork of https://github.com/assert-rs/trycmd that was created after the upstream maintainers didn't accept some PRs.

The main differentiating feature is the ability to create alternative file loaders. The hope is that one day a new trycmd like frontend/runner will be created and this fork can be retired. Or upstream can be convinced that the dynamic file loading patches merit being included in trycmd.

Treat your tests like cattle, instead of pets

Documentation License Crates Status

trycmd is a test harness that will enumerate test case files and run them to verify the results, taking inspiration from trybuild and cram.

Example

To create a minimal setup, create a tests/cli_tests.rs with

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

and write out your test cases in .toml files along with examples in your README.md.

Run this with cargo test like normal. TestCases will enumerate all test case files and run the contained commands, verifying they run as expected.

See the docs for more.

Users

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.

About

Snapshot testing for a herd of CLI tests

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%