Rust语言

关注公众号 jb51net

关闭
首页 > 软件编程 > Rust语言 > rust  cargo-nextest 替代 cargo test

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

作者:会编程的大白熊

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 包含两个测试函数

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文