测试
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 中不同测试风格的更多信息,请参阅Cargo 目标:测试。