【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
相关推荐
觅远3 分钟前
python+pdfplumber:提取和分析PDF中的表格、文本等数据,实现pdf转图片、CSV、JSON、dict
开发语言·python·pdf
TANGLONG2228 分钟前
【C++】揭开C++类与对象的神秘面纱(首卷)(类的基础操作详解、实例化艺术及this指针的深究)
java·开发语言·数据结构·c++·python·考研·面试
GGBondlctrl9 分钟前
【SpringAOP】Spring AOP 底层逻辑:切点表达式与原理简明阐述
java·后端·代理模式·spring aop·切点表达式
是阿建吖!9 分钟前
【C++】C++11(二)
c语言·开发语言·c++
代码驿站52013 分钟前
Scala语言的软件开发工具
开发语言·后端·golang
小_太_阳16 分钟前
scala_【JVM】概述
开发语言·jvm·scala
wlyang66618 分钟前
2. Scala 高阶语法之集合与元组
开发语言·后端·scala
喜欢猪猪23 分钟前
大厂架构之极致缓存策略实战与原理剖析
java·后端·spring
JINGWHALE128 分钟前
设计模式 行为型 责任链模式(Chain of Responsibility Pattern)与 常见技术框架应用 解析
前端·人工智能·后端·设计模式·性能优化·系统架构·责任链模式
山茶花开时。32 分钟前
[OPEN SQL] 限定选择行数
开发语言·sap·abap