测试
Cargo 可以使用 cargo test
命令运行你的测试。Cargo 会在两个地方查找要运行的测试:在你的每个 src
文件中以及 tests/
中的任何测试。你的 src
文件中的测试应该是单元测试和文档测试。tests/
中的测试应该是集成风格的测试。因此,你需要将你的 crate 导入到 tests
中的文件中。
这里是一个在我们的包中运行 cargo test
的例子,它目前没有测试。
$ cargo test
Compiling regex v1.5.0 (https://github.com/rust-lang/regex.git#9f9f693)
Compiling hello_world v0.1.0 (file:///path/to/package/hello_world)
Running target/test/hello_world-9c2b65bbb79eabce
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
如果你的包有测试,你会看到更多输出以及正确数量的测试。
你也可以通过传递一个过滤器来运行特定的测试。
$ cargo test foo
这将运行名称中包含 foo
的任何测试。
cargo test
还会运行其他检查。它会编译你包含的所有示例,以确保它们仍然可以编译。它还会运行文档测试,以确保你的文档注释中的代码示例可以编译。请参阅 Rust 文档中的测试指南,以获取编写和组织测试的总体视图。请参阅Cargo Targets: Tests,以了解更多关于 Cargo 中不同风格的测试的信息。