rust 如何使用 cargo-nextest 替代 cargo test

 更新时间:2024年05月25日 12:02:35   作者:会编程的大白熊  
cargo-nextest 是新一代的rust测试程序,能够极大提升测试性能,可以完全替代 cargo test 命令,这篇文章主要介绍了rust 如何使用 cargo-nextest 替代 cargo test,需要的朋友可以参考下

cargo-nextest 是新一代的rust测试程序,能够极大提升测试性能,可以完全替代 cargo test 命令。

1. 安装

cargo install cargo-nextest

2. 执行测试

project
├── Cargo.toml
├── LICENSE
├── README.md
├── build.rs
├── core_utils
│   ├── Cargo.toml
│   ├── build.rs
│   ├── deny.toml
│   ├── src
│   │   ├── random
│   │   │   ├── arbitrary
│   │   │   │   ├── arbitrary.rs
│   │   │   │   ├── mod.rs
│   │   │   │   ├── option.rs
│   │   │   │   └── result.rs
│   │   │   ├── gen.rs
│   │   │   ├── mod.rs
│   │   │   └── utils.rs
│   │   │   └── lib.rs
│   ├── tests
│   │   ├── test_random.rs

tests/test_random.rs 包含两个测试函数

  • test_random_string
  • test_random_string_2

src/random/option.rs 包含测试

#[cfg(test)]
mod tests {
    use crate::random::arby;
    #[test]
    fn test_option() {
        let x = arby::<Option<bool>>(5);
        println!("{:#?}", x);
        let x = arby::<Option<bool>>(5);
        println!("{:#?}", x);
        let x = arby::<Option<bool>>(5);
        println!("{:#?}", x);
    }
}

2.1 查找所有测试

cargo nextest list
cargo nextest list test_random

2.2 找出慢测试、泄露测试,并设置超时时间,超时就自动终止

cargo nextest run --slow-timeout 60 -leak-timeout 1024

2.3 并发测试

cargo nextest run --release -- --jobs 4
cargo nextest --jobs 4

2.4 重试失败的测试用例​​​​​​​

cargo nextest run --retries 3

2.5 运行上次失败的测试

cargo nextest run -- --failed

2.6 测试指定的包

cargo nextest run -p core_utils

2.7 测试 lib 中的所有测试用例

cd core_utils
cargo nextest run :
或
cargo nextest run --lib

2.8 运行项目中的所有测试

cargo nextest run
# 会包含文档字符串中的测试用例
cargo nextest run --tests

2.9 测试 tests 文件夹中的指定函数(模糊匹配)

cd core_utils
cargo nextest run test_random_string
cargo nextest run -- test_random_string
cargo nextest run -E 'test(test_random_string_2)'
cargo nextest run -E 'test(test_random)'

2.10 测试 tests 文件夹中的指定函数(精确匹配)

cd core_utils
cargo nextest run -E 'test(=test_random_string)'

2.11 测试库中的指定函数

cargo nextest run --lib random::arbitrary::option::tests::test_option
cargo nextest run random::arbitrary::option::tests::test_option
cargo nextest run random::arbitrary::option::tests
cargo nextest run random::arbitrary::option::
cargo nextest run random::arbitrary:
cargo nextest run random::

2.12 测试 tests 的一个文件

cargo nextest run --test test_random

到此这篇关于rust 如何使用 cargo-nextest 替代 cargo test的文章就介绍到这了,更多相关rust cargo-nextest 替代 cargo test内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Rust 模式匹配示例详解

    Rust 模式匹配示例详解

    这篇文章主要为大家介绍了Rust 模式匹配示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Rust使用Sled添加高性能嵌入式数据库

    Rust使用Sled添加高性能嵌入式数据库

    这篇文章主要为大家详细介绍了如何在Rust项目中使用Sled库,一个为Rust生态设计的现代、高性能嵌入式数据库,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • 通过rust实现自己的web登录图片验证码功能

    通过rust实现自己的web登录图片验证码功能

    本文介绍了如何使用Rust和imagecrate库生成图像验证码,首先,通过Cargo.toml文件添加image依赖,然后,生成纯色图片并编辑验证图片,接着,编写随机函数获取字符,并通过循环生成验证码图片,最终,通过运行函数验证验证码图片是否生成,感兴趣的朋友一起看看吧
    2025-03-03
  • Rust处理命令行参数

    Rust处理命令行参数

    在Rust中,命令行参数是程序从命令行接收的输入,它们为程序提供了运行时配置和数据的灵活性,本文就来介绍一下Rust处理命令行参数,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Rust应用调用C语言动态库的操作方法

    Rust应用调用C语言动态库的操作方法

    这篇文章主要介绍了Rust应用调用C语言动态库,本文记录了笔者编写一个简单的C语言动态库,并通过Rust调用动态库导出的函数,需要的朋友可以参考下
    2023-01-01
  • 聊聊Rust 运算符

    聊聊Rust 运算符

    运算符 用于对数据执行一些操作。被运算符执行操作的数据我们称之为操作数。下面通过本文给大家介绍Rust 运算符的相关知识,感兴趣的朋友一起看看吧
    2021-11-11
  • Rust指南之泛型与特性详解

    Rust指南之泛型与特性详解

    泛型机制是编程语言用于表达类型抽象的机制,一般用于功能确定、数据类型待定的类,如链表、映射表等,这篇文章主要介绍了Rust指南泛型与特性,需要的朋友可以参考下
    2022-10-10
  • Rust cargo 命令行工具使用示例教程

    Rust cargo 命令行工具使用示例教程

    cargo 是 Rust 的构建系统和包管理器,负责创建项目、编译代码、管理依赖、运行测试等,是日常开发中最常用的工具,这篇文章主要介绍了Rust cargo 命令行工具使用教程,需要的朋友可以参考下
    2025-04-04
  • Rust指南枚举类与模式匹配详解

    Rust指南枚举类与模式匹配详解

    这篇文章主要介绍了Rust指南枚举类与模式匹配精讲,枚举允许我们列举所有可能的值来定义一个类型,枚举中的值也叫变体,今天通过一个例子给大家详细讲解,需要的朋友可以参考下
    2022-09-09
  • Rust 智能指针的使用详解

    Rust 智能指针的使用详解

    Rust智能指针是内存管理核心工具,本文就来详细的介绍一下Rust智能指针(Box、Rc、RefCell、Arc、Mutex、RwLock、Weak)的原理与使用场景,感兴趣的可以了解一下
    2025-09-09

最新评论