1 unstable release
0.14.20 | Nov 6, 2023 |
---|
#526 in Testing
712 downloads per month
Used in apple-codesign
120KB
3K
SLoC
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
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.
Dependencies
~4–14MB
~191K SLoC