在Rust中,单元测试是通过在函数或模块下方编写测试代码来完成的。Rust的测试框架是内置的,因此无需安装额外的依赖项。以下是如何编写和执行Rust单元测试的步骤:
cargo new my_project
cd my_project
src/lib.rs(对于库项目)或src/main.rs(对于可执行文件项目)中编写要测试的函数或模块。例如,在src/lib.rs中添加以下代码:
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
#[test]属性标记,并且它们的签名与普通函数略有不同。测试函数的参数和返回值通常使用()表示,因为它们不接收任何输入参数,也不返回任何值。在src/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);
}
}
cargo test
这将编译项目并运行所有标记为#[test]的测试函数。测试结果将显示在控制台中,包括通过的测试数量、失败的测试数量以及失败原因。
--nocapture标志:cargo test --nocapture
这就是在Linux下编写和执行Rust单元测试的基本过程。你可以根据需要添加更多的测试函数和模块,以确保代码的正确性和稳定性。