11.1 怎么写测试代码
使用cargo
生成lib
项目时,会自自动生成测试代码样例。
测试代码在一个测试模块中,使用 #[cfg(test)]
声明模块,使用 #[test]
声明函数,即表明函数是测试函数。
11.1.1 常用测试函数
常用的测试函数有 assert!
,assert_eq!
,assert_ne!
几个,可以接受参数和消息。消息支持格式化。
11.1.2 测试标记
可以使用 #[should_panic]
声明测试测试,表示希望函数中断。如果中断,测试成功,否则测试失败。
11.1.3 返回Result
测试函数可以返回 Result
,返回Result
时,值为 Some
测试成功,为Err
测试失败。
11.2 控制测试代码的运行
11.2.1 指定输出
可以指定成功时是否输出信息,默认是不输出的,只有失败才输出
cargo test -- --show-output
11.2.2 控制是否单线程执行
如果用例之间有资源冲突,可以控制必须单线程执行测试,也可以指定线程数量。
cargo test -- --test-threads=1
11.2.3 指定函数执行
可以通过cargo test method_name
直接指定哪个测试函数执行。这里函数名直接包括传入的名称,都会执行。
11.2.4 ignore忽略测试
在测试函数上标记#[ignore]
,测试会默认被忽略。
可以执行 --ignored
只执行被忽略的测试或--include-ignored
执行全部测试。
11.3 测试代码组织
rust
中有两种测试,单元测试和集成测试。
单元测试直接在代码文件中添加,使用 use supper::**
引入外部模块,可以测私有函数。过程与之前说的一样, #[cfg(debug)] 模块
, #[test]
函数中使用即可。
集成测试则是放在单独的crate
中,在工程目录下创建tests
文件夹,只能测试公开函数。
测试不是很重点的东西,大略了解了一下,后续用到的时候再详细了解。
- 打赏
- 分享
分享到...

请选择打赏方式



- 微信
- 支付宝