测试

可以使用 cargo test 命令来运行测试。Cargo 在两个地方查找测试内容: 1. src 中的每个文件;2. test 目录中的测试条目。 src 中的测试是单元测试和文档测试(documentation tests)。 tests 中的测试是集成测试, tests 中的文件需要导入 crate 。

下面的例子中对 package 执行 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 将进行额外的检查。Cargo会编译每个示例,确保它们可以通过编译。同时也会运行文档测试来确保文档中的代码样例可以通过编译。 Rust文档中的 testing guide 部分可以获得更多关于组织测试的知识。Cargo Targets: Tests 中可以学到 Cargo 中更多不同的测试模式。