测试

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 目标:测试