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 自动化测试、迭代器与闭包、智能指针、无畏并发,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • Rust中向量的学习笔记

    Rust中向量的学习笔记

    在Rust语言中,向量是一种动态数组类型,可以存储相同类型的元素,并且可以在运行时改变大小,本文就来介绍一下Rust中向量,感兴趣的可以了解一下
    2024-03-03
  • 如何使用Rust的向量存储值列表

    如何使用Rust的向量存储值列表

    本文介绍了在Rust中使用向量存储值列表的方法,包括创建、更新、读取、遍历、存储多种类型以及内存释放等方面,向量是Rust中常用且强大的集合类型,熟练掌握其用法有助于编写高效且安全的代码
    2025-02-02
  • Rust中箱、包和模块的学习笔记

    Rust中箱、包和模块的学习笔记

    Rust中有三个重要的组织概念:箱、包、模块,本文主要介绍了Rust中箱、包和模块的学习笔记,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Rust如何使用config配置API

    Rust如何使用config配置API

    这篇文章主要介绍了Rust如何使用config配置API,这里记录了如何声明配置类型,读取配置,通过环境变量来覆盖配置值等开发中常见的动作,需要的朋友可以参考下
    2023-11-11
  • Rust 中 Mutex 的基本用法

    Rust 中 Mutex 的基本用法

    Rust 标准库中的 Mutex 结构体位于 std::sync::Mutex 中,它提供了线程安全的数据访问,Mutex 保证了在同一时间只有一个线程可以访问被锁定的数据,这篇文章主要介绍了Rust 中 Mutex 的基本用法,需要的朋友可以参考下
    2024-05-05
  • 使用Rust开发小游戏完成过程

    使用Rust开发小游戏完成过程

    这篇文章主要介绍了使用Rust开发小游戏的完整过程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-11-11
  • 详解Rust Substrate框架中的Runtime

    详解Rust Substrate框架中的Runtime

    ubstrate是一个区块链开发框架,它提供了一系列模块化和可扩展的组件,可以帮助开发人员快速构建自定义区块链。 Runtime是Substrate区块链的核心部分,文中有详细的代码示例,需要的朋友可以参考下
    2023-05-05
  • Rust Aya 框架编写 eBPF 程序

    Rust Aya 框架编写 eBPF 程序

    这篇文章主要介绍了Rust Aya 框架编写 eBPF 程序方法的相关资料,需要的朋友可以参考下
    2022-11-11
  • 关于Rust 使用 dotenv 来设置环境变量的问题

    关于Rust 使用 dotenv 来设置环境变量的问题

    在项目中,我们通常需要设置一些环境变量,用来保存一些凭证或其它数据,这时我们可以使用dotenv这个crate,接下来通过本文给大家介绍Rust 使用dotenv来设置环境变量的问题,感兴趣的朋友一起看看吧
    2022-01-01

最新评论