Rust-测试、自定义错误信息、测试的组织

测试函数

  • 在函数上面一行加上#[test],函数就会变成测试函数
  • 运行测试:cargo test
  • 当使用cargo创建library项目时,会生成一个test module,里面有一个test函数
  • 可以添加任意数量的test module或者函数

断言

使用assert!宏检查测试结果

在这里插入图片描述

使用assert_eq!和assert_ne!测试相等性

  • 判断两个参数是否相等或不等
  • 断言失败时,自动打印出两个参数
  • 参数顺序不重要
    在这里插入图片描述

添加自定义错误信息

在这里插入图片描述fomat!用于拼接字符串 ,例如format!(“Hello{}”,name)
在这里插入图片描述

用should_panic检查恐慌

在这里插入图片描述

让should——panic更加精确

在这里插入图片描述在这里插入图片描述如果发生的不是该恐慌就测试失败

在测试中使用Result<T,E>

在这里插入图片描述

在这里插入图片描述

控制测试如何运行

  • 改变cargo test的行为: 添加命令行参数
  • 默认:
  • 并行运行
  • 所有测试
  • 捕获所有输出(不显示),使得读取与测试结果相关的输出更容易
  • 命令行参数:
  • 针对cargo test的参数:紧跟cargo test后
  • 针对测试可执行程序:放在–之后
  • cargo test --help
  • cargo test – --help 显示catgo test可以用在两个-之后的参数

并行 串行运行测试

  • 运行多个测试:默认多个线程并行运行
  • – test-threads参数 后面紧跟线程数量
  • cargo test – --test-threads=1

显式函数输出

在这里插入图片描述

按照名称运行测试

运 行子集

运行单个测试:cargo test + 子集测试的名称 参数只能有一个
运行多个测试 :指定测试名的一部分(模块名也可以) cargo test add

忽略某些测试,运行剩余测试

ignore 属性(attribute)
在这里插入图片描述不运行 expensive_test
test – --ignored 运行被忽略的测试``

测试的组织

测试的分类

Rust对测试的分类

  • 单元测试
  • 集成测试
    在这里插入图片描述

【cfg(test)】标注

在这里插入图片描述

测试私有函数

在这里插入图片描述

集成测试

test目录

创建集成测试:tests目录
tests目录下的每个测试文件都是一个单独的crate

在这里插入图片描述在这里插入图片描述

运行指定的集成测试

在这里插入图片描述

集成测试中的子模块

在这里插入图片描述参考视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值