在Rust中,单元测试是内置的,并且非常容易进行。Rust的包管理器和构建系统Cargo提供了一个简单的命令来运行测试。以下是在Linux上进行Rust单元测试的步骤:
-
编写测试函数: 在Rust中,你可以使用
#[test]
属性来标记一个函数作为测试函数。这些函数通常放在与它们所测试的代码相同的模块中,或者在tests
模块中。// 在lib.rs或main.rs中 #[cfg(test)] mod tests { #[test] fn it_works() { assert_eq!(2 + 2, 4); } }
-
运行测试: 打开终端,导航到你的Rust项目目录,然后运行以下命令:
cargo test
这个命令会编译你的项目,并运行所有标记为
#[test]
的测试函数。测试结果会显示在终端中,包括通过的测试和失败的测试。 -
查看详细的测试输出: 如果你想看到更详细的输出,可以使用
--nocapture
标志来防止Cargo捕获测试的输出:cargo test -- --nocapture
-
只运行特定的测试: 如果你只想运行一个特定的测试函数,可以使用
-p
或--test
标志后跟测试名称:cargo test -p your_test_name
如果你的测试函数有描述性的名称,你可以使用部分匹配来运行它们:
cargo test your_test_name_part
-
运行测试而不编译代码: 如果你已经编译了代码,并且只想运行测试,可以使用
--test
标志:cargo test --test your_test_name
-
检查测试覆盖率: Cargo还支持测试覆盖率检查,但这需要额外的工具,如
kcachegrind
或llvm-cov
。要启用覆盖率检查,你需要设置环境变量并重新运行cargo test
。
请注意,上述步骤适用于大多数情况,但是如果你的项目结构比较特殊,或者你需要更高级的测试配置,可能需要查阅Cargo的文档来获取更多信息。