测试

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 中不同风格的测试的信息。