rust 如何使用 cargo-nextest 替代 cargo test
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>1. 安装</li><li>2. 执行测试</li><ul class="second_class_ul"><li>2.1 查找所有测试</li><li>2.2 找出慢测试、泄露测试,并设置超时时间,超时就自动终止</li><li>2.3 并发测试</li><li>2.4 重试失败的测试用例</li><li>2.5 运行上次失败的测试</li><li>2.6 测试指定的包</li><li>2.7 测试 lib 中的所有测试用例</li><li>2.8 运行项目中的所有测试</li><li>2.9 测试 tests 文件夹中的指定函数(模糊匹配)</li><li>2.10 测试 tests 文件夹中的指定函数(精确匹配)</li><li>2.11 测试库中的指定函数</li><li>2.12 测试 tests 的一个文件</li></ul></ul></div><p><code>cargo-nextest</code> 是新一代的rust测试程序,能够极大提升测试性能,可以完全替代 <code>cargo test</code> 命令。</p><p class="maodian"></p><h2>1. 安装</h2>
<div class="jb51code"><pre class="brush:bash;">cargo install cargo-nextest</pre></div>
<p class="maodian"></p><h2>2. 执行测试</h2>
<div class="jb51code"><pre class="brush:plain;">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</pre></div>
<p><code>tests/test_random.rs</code> 包含两个测试函数</p>
<ul><li>test_random_string</li><li>test_random_string_2</li></ul>
<p><code>src/random/option.rs</code> 包含测试</p>
<div class="jb51code"><pre class="brush:plain;">#
mod tests {
use crate::random::arby;
#
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);
}
}</pre></div>
<p class="maodian"></p><h3>2.1 查找所有测试</h3>
<div class="jb51code"><pre class="brush:bash;">cargo nextest list
cargo nextest list test_random</pre></div>
<p class="maodian"></p><h3>2.2 找出慢测试、泄露测试,并设置超时时间,超时就自动终止</h3>
<div class="jb51code"><pre class="brush:plain;">cargo nextest run --slow-timeout 60 -leak-timeout 1024</pre></div>
<p class="maodian"></p><h3>2.3 并发测试</h3>
<div class="jb51code"><pre class="brush:plain;">cargo nextest run --release -- --jobs 4
cargo nextest --jobs 4</pre></div>
<p class="maodian"></p><h3>2.4 重试失败的测试用例</h3>
<div class="jb51code"><pre class="brush:plain;">cargo nextest run --retries 3</pre></div>
<p class="maodian"></p><h3>2.5 运行上次失败的测试</h3>
<div class="jb51code"><pre class="brush:plain;">cargo nextest run -- --failed</pre></div>
<p class="maodian"></p><h3>2.6 测试指定的包</h3>
<div class="jb51code"><pre class="brush:plain;">cargo nextest run -p core_utils</pre></div>
<p class="maodian"></p><h3>2.7 测试 lib 中的所有测试用例</h3>
<div class="jb51code"><pre class="brush:bash;">cd core_utils
cargo nextest run :
或
cargo nextest run --lib</pre></div>
<p class="maodian"></p><h3>2.8 运行项目中的所有测试</h3>
<div class="jb51code"><pre class="brush:bash;">cargo nextest run
# 会包含文档字符串中的测试用例
cargo nextest run --tests</pre></div>
<p class="maodian"></p><h3>2.9 测试 tests 文件夹中的指定函数(模糊匹配)</h3>
<div class="jb51code"><pre class="brush:bash;">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)'</pre></div>
<p class="maodian"></p><h3>2.10 测试 tests 文件夹中的指定函数(精确匹配)</h3>
<div class="jb51code"><pre class="brush:bash;">cd core_utils
cargo nextest run -E 'test(=test_random_string)'</pre></div>
<p class="maodian"></p><h3>2.11 测试库中的指定函数</h3>
<div class="jb51code"><pre class="brush:bash;">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::</pre></div>
<p class="maodian"></p><h3>2.12 测试 tests 的一个文件</h3>
<div class="jb51code"><pre class="brush:bash;">cargo nextest run --test test_random</pre></div>
<p>到此这篇关于rust 如何使用 cargo-nextest 替代 cargo test的文章就介绍到这了,更多相关rust cargo-nextest 替代 cargo test内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li>Python安装jupyter notebook报pywinpty缺少Rust和Cargo问题</li><li>深入理解Rust中Cargo的使用</li><li>Rust中Cargo的使用详解</li><li>Rust中的Cargo构建、运行、调试</li><li>使用Cargo工具高效创建Rust项目</li><li>使用cargo install安装Rust二进制工具过程</li></ul>
</div>
</div>
<!--endmain-->
頁:
[1]