在Rust中进行单元测试,你需要使用内置的测试框架testing
。下面是一个简单的示例,展示了如何编写和运行一个Rust函数的单元测试:
- 首先,创建一个新的Rust项目(如果你还没有的话):
cargo new my_project cd my_project
- 在
src
目录下创建一个名为lib.rs
的文件,并在其中定义你的函数。例如,我们创建一个简单的函数add
,用于计算两个整数的和:
// src/lib.rs pub fn add(a: i32, b: i32) -> i32 { a + b }
- 在
src
目录下创建一个名为tests
的文件夹,用于存放测试文件。在这个文件夹中创建一个名为lib.rs
的文件,用于编写我们的单元测试:
// src/tests/lib.rs #[cfg(test)] mod tests { use super::*; #[test] fn test_add() { assert_eq!(add(1, 2), 3); assert_eq!(add(-1, 1), 0); assert_eq!(add(0, 0), 0); } }
注意,我们在tests
模块上使用了#[cfg(test)]
属性,这样只有在运行测试时才会编译这个模块。
- 在项目根目录下的
Cargo.toml
文件中,确保你的项目使用了testing
特性:
[package] name = "my_project" version = "0.1.0" edition = "2018" [features] default = ["test"] [dependencies]
- 现在你可以运行测试了。在项目根目录下,使用以下命令运行测试:
cargo test
这将编译并运行你的单元测试。如果所有测试都通过,你将看到类似以下的输出:
running 1 test ok my_project 0.1.0 (file:///path/to/my_project)
这就是在Rust中进行单元测试的基本方法。你可以根据需要编写更多的测试用例,以确保你的函数按预期工作。