在Rust中进行单元测试,你需要使用内置的测试框架testing
。下面是一个简单的示例,展示了如何编写和运行一个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中进行单元测试的基本方法。你可以根据需要编写更多的测试用例,以确保你的函数按预期工作。