Rust语言——编写自动化测试

本文介绍了如何在Cargotest中使用#[test]标记将函数转换为测试函数,通过assert和assert_eq!进行断言,以及如何利用#[should_panic]和命令行参数定制测试行为。还涵盖了如何忽略测试和配置测试范围。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行测试

在函数上加#[test],可以把函数变为测试函数

使用cargo test命令来执行测试函数

mod tests {
    #[test]
    fn it_works1() {
        let result = 2 + 2;
        assert_eq!(result, 4);
    }
    #[test]
    fn it_works2() {
        let result = 2 + 2;
        assert_eq!(result, 4);
    }
}
//running 2 tests
//test tests::it_works1 ... ok
//test tests::it_works2 ... ok
  • 断言(Assert)

assert!:用来确定某个状态是否为true

assert_eq!和assert_ne!测试相等性

#[should_panic]加在方法前面,方法出现panic测试通过,不出现panic测试失败

#[should_panic(expected = "***")],加入expected参数可以进行对选定panic测试通过

为cargo test添加命令行参数来改变cargo test的行为

cargo test --help:显示cargo test ***的所有参数

cargo test -- --help:显示cargo test --***的所有参数

cargo test -- --show-output

cargo test后加想要测试的名称,就可以选择性的进行测试

#[cfg(test)]
#[test]
fn add1(){
    println!("add1");
}
#[test]
fn add2(){
    println!("add1");
}
cargo test: add1和add2都会测试
cargo test add1: 只会测试add1
cargo test add: 包含add字段的方法都会被测试

#[ignore]加在方法前可以使该方法执行cargo test时被忽略测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值