5 releases (3 breaking)
0.4.0 | Oct 17, 2024 |
---|---|
0.3.0 | Sep 5, 2024 |
0.2.1 | Jul 25, 2024 |
0.2.0 | Jun 17, 2024 |
0.1.0 | Mar 20, 2024 |
#603 in Development tools
525 downloads per month
Used in 5 crates
310KB
6.5K
SLoC
WARNING: You might not want to use this outside of Cargo.
- This is designed for testing Cargo itself. Use at your own risk.
- No guarantee on any stability across versions.
- No feature request would be accepted unless proved useful for testing Cargo.
lib.rs
:
Cargo test support.
See https://rust-lang.github.io/cargo/contrib/ for a guide on writing tests.
There are two places you can find API documentation
- https://docs.rs/cargo-test-support:
targeted at external tool developers testing cargo-related code
- Released with every rustc release
- https://doc.rust-lang.org/nightly/nightly-rustc/cargo_test_support:
targeted at cargo contributors
- Updated on each update of the
cargo
submodule inrust-lang/rust
- Updated on each update of the
WARNING: You might not want to use this outside of Cargo.
- This is designed for testing Cargo itself. Use at your own risk.
- No guarantee on any stability across versions.
- No feature request would be accepted unless proved useful for testing Cargo.
Example
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::project;
#[cargo_test]
fn some_test() {
let p = project()
.file("src/main.rs", r#"fn main() { println!("hi!"); }"#)
.build();
p.cargo("run --bin foo")
.with_stderr_data(str![[r#"
[COMPILING] foo [..]
[FINISHED] [..]
[RUNNING] `target/debug/foo`
"#]])
.with_stdout_data(str![["hi!"]])
.run();
}
Dependencies
~30–44MB
~807K SLoC