2023学习日志

2023-07-08 11:19:57 浏览数 (1)

rust

自动化测试

测试函数

通过在函数定义时加上#[test]注解,可以得到一个测试函数测试函数仅在运行cargo test命令时运行,分别输出每个测试函数的结果。

assert!、assert_eq!、assert_ne!宏

  • assert!宏可以测试表达式的结果是否为true,若结果为true,则测试通过,否则测试失败
  • assert_eq!、assert_ne!宏可以测试表达式的结果与给定值是否相等,(根据宏的命名即可知晓测试通过的条件)

shoud_panic注解

函数定义时加上#[should_panic],可以测试应当panic的情况,在该测试函数发生panic时测试通过。

Result<T,E>用于测试函数

可以将使用assert!、assert_eq!、assert_ne!宏测试函数转换为使用Result<T,E>作为返回值测试函数,当返回OK(T)测试通过,当返回Err(E)测试失败。

cargo test的使用

  • 并行设置

cargo test默认采用并行的方式运行测试函数,可以通过--test-threads参数来设置并行线程数量。

示例:

代码语言:shell复制
//将并行线程数设置为1,即不采用并行的方式运行测试函数
cargo test -- --test-threads=1 
  • 函数输出设置

可以通过--show-output参数来显示测试通过时,测试函数的输出。

  • 运行指定测试函数

可以在cargo test后加上测试函数名,来运行该测试函数。

也可以仅加上部分函数名cargo test会自动进行模式匹配,仅运行正则匹配测试函数

  • #[ingore]注解

可以在函数定义时加入#[ingore]注解,当运行cargo test时,不会运行该测试函数,仅能通过指定函数名的方式运行该测试函数。

0 人点赞