trycmd
Treat your tests like cattle, instead of pets
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
- typos (source code spell checker)
- cargo-edit (
Cargo.toml
editor) - clap (CLI parser) to test examples
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.