在linux系统中利用rust开展单元测试非常便捷。Rust自带了一个叫做cargo的包管理与构建工具,它能够自动完成项目的构建、运行和测试任务。下面介绍在Linux系统下通过Rust执行单元测试的具体步骤:
- 首先,请确认你已经安装了Rust语言环境。如果没有安装,请前往Rust官方站点(https://www.php.cn/link/2279b01a87d3193171af55ee407cb8df。
- 使用cargo命令创建一个新的Rust项目(如果尚未有现成的项目):
cargo new my_project cd my_project
该操作会在当前路径下新建一个名为my_project的文件夹,并生成一个基础的Rust项目结构。
- 在src/lib.rs(适用于库项目)或src/main.rs(适用于可执行程序)中编写你的功能代码。例如,在src/lib.rs中添加如下函数:
pub fn add(a: i32, b: i32) -> i32 { a + b }
- 接着在同一文件中(如src/lib.rs),为你的函数编写对应的单元测试代码。使用#[cfg(test)]属性标注测试模块,并为每个测试方法加上#[test]属性。示例代码如下:
#[cfg(test)] mod tests { use super::*; #[test] fn test_add() { assert_eq!(add(2, 2), 4); assert_eq!(add(-1, 1), 0); assert_eq!(add(0, 0), 0); } }
- 完成编辑后保存文件,并在终端中执行cargo test命令。此命令会编译整个项目并自动运行所有标记为测试的方法。最终的测试结果将输出在控制台中,类似如下内容:
running 1 test test tests::test_add ... ok test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
在这个示例中,我们只定义了一个名为test_add的测试方法,并且它成功通过了测试。
你可以随时新增更多测试方法并在需要时再次运行cargo test,以验证代码是否始终符合预期行为。Rust会自动识别并执行所有带有#[test]注解的函数。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END