【Rust自学】11.7. 按测试的名称运行测试

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

11.7.1. 按名称运行测试的子集

如果想要选择运行的测试,就将测试的名称(一个或多个)作为cargo test的参数。

看个例子:

rust 复制代码
pub fn add_two(a: usize) -> usize {
    a + 2
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn add_two_and_two() {
        let result = add_two(2);
        assert_eq!(result, 4);
    }

    #[test]
    fn add_three_and_two() {
        let result = add_two(3);
        assert_eq!(result, 5);
    }

    #[test]
    fn one_hundred() {
        let result = add_two(100);
        assert_eq!(result, 102);
    }
}

这里有三个测试,假如我们只想要测试one_hundred这个参数,就这么写:cargo test onne_hundred:

复制代码
$ cargo test one_hundred
   Compiling adder v0.1.0 (file:///projects/adder)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.69s
     Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4)

running 1 test
test tests::one_hundred ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.00s

运行单个测试直接指定测试名就可以。运行多个测试指定测试名的一部分(模块名也可以)作为参数,这样任何匹配这一名称的测试都会被执行。

举个例子,假如我想要执行add_two_and_two()add_three_and_two,这两个测试的名称都含有add这个部分,就写:cargo test add:

复制代码
$ cargo test add
   Compiling adder v0.1.0 (file:///projects/adder)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s
     Running unittests src/lib.rs (target/debug/deps/adder-92948b65e88960b4)

running 2 tests
test tests::add_three_and_two ... ok
test tests::add_two_and_two ... ok

test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 0.00s
相关推荐
stark张宇1 小时前
实战Go高级特性:Context超时控制、defer资源回收与Channel通信的关键避坑点
后端·go
一壶浊酒..1 小时前
Scrape Webpack练习
开发语言·javascript·webpack
命运之光2 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光2 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人2 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
IT_陈寒3 小时前
Vue的响应式让我原地破防,原来问题出在这
前端·人工智能·后端
思考着亮3 小时前
1.RabbitMQ基本使用
后端
XuCoder3 小时前
面试官:Redis 单线程为什么还这么快?这道题答错的人真不少
后端
子兮曰3 小时前
Bun vs Node.js 深度对决:跑分快 4 倍,真实业务只剩 3%,2026 年到底该怎么选?
前端·后端·typescript
码事漫谈4 小时前
把 AI 拆掉,你的系统还能跑吗?
前端·后端