5 个不稳定版本
0.3.1 | 2021年6月15日 |
---|---|
0.3.0 | 2021年6月14日 |
0.2.1 | 2021年6月8日 |
0.1.1 | 2021年6月3日 |
#407 in Cargo 插件
70 每月下载量
19KB
392 代码行
cargo flaky
Cargo flaky 扩展 cargo,帮助您在测试套件中查找不稳定测试,并帮助您解决它们。
动机
不稳定测试因其非常性质而闻名,令人烦恼且难以调试:它们似乎随机发生。Cargo flaky 的想法是运行测试很多次以尝试触发这些不稳定测试的失败。但这还不够,因为知道存在错误通常不足以调试它,cargo flaky 还允许您使用 rr 记录失败的测试,这样您可以在测试失败时回放测试的执行。不错。
安装
从源安装
git clone https://github.com/MarinPostma/cargo-flaky.github
cd cargo flaky
cargo install --path .
用法
目前,cargo flaky 不支持向测试套件传递自定义参数。
您可以多次运行所有测试
cargo flaky -i 30 # run your test suite 30 times and collect all failures
您可以记录失败的测试(需要已安装 rr
)
cargo flaky -i 30 -r # run your tests suite 30 time and record failures
输出
--- Found 1 failing test ---
test: test::test stdout, 10/10 (100%)
Test binary: /home/mpostma/Documents/code/rust/cargo-flaky/target/debug/deps/cargo_flaky-2ac6d6022fd
27a8d
message:
thread 'main' panicked at 'explicit panic', src/main.rs:231:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
recording available in : recording_20210603213043/record_iter_1
--------------------------------
现在,您可以运行 rr replay recording_20210603213043/record_iter_1
以打开一个 gdb
会话并调试失败的测试实例的记录。
您可以通过输入 cago flaky --help
获取更多用法信息。
免责声明
这仍然是一个正在进行中的项目,缺少许多功能。如果您缺少某些功能,请毫不犹豫地提交 PR/issue。
许可证
MIT
依赖项
~10–22MB
~305K SLoC