#stress #cargo-test #unit #parallel-testing #unit-testing #cargo-subcommand

app cargo-stress

用于捕获非确定性测试失败的实用工具

2个不稳定版本

0.2.0 2024年7月23日
0.1.0 2019年8月2日

#101 in Cargo插件

Download history 114/week @ 2024-07-23 4/week @ 2024-07-30

118 每月下载次数

Apache-2.0

13KB
243 代码行

cargo-stress

用于捕获非确定性测试失败的实用工具。它通过循环并行运行测试并收集失败。

cargo-stress 基于我们在 CockroachDB 中使用的 stress 二进制文件建模,而该二进制文件本身是 Go 的 x/tools/cmd/stress 的分支。

cargo stress 可以使用 cargo install 安装。生成的二进制文件应该位于 $HOME/.cargo/bin

$ cargo install cargo-stress

尽可能快地运行您的测试

$ cargo stress
Compiling test binaries: cargo test --no-run --message-format=json
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
Running test binary: "cargo-stress/target/debug/cargo_stress-e02dca1c9609c365"
1 runs so far, 0 failures, over 0s
5092 runs so far, 0 failures, over 5s
10226 runs so far, 0 failures, over 10s
15455 runs so far, 0 failures, over 15s
...

标志和用法

Cargo 用于构建测试二进制文件,然后重复调用。默认情况下,它运行与 cargo test 相同的测试,但可以通过标志进行控制。目标是任何 cargo test 命令都可以替换为 cargo stress,并且将以相同的参数运行相同的测试。任何其他行为都是错误。我可能没有完全正确地做到这一点,所以如果您看到这个问题,请提交问题。

依赖关系

~0.7–1.6MB
~35K SLoC