$ bazel test --runs_per_test=10 :flaker
INFO: Found 1 test target...
FAIL: //:flaker (run 10 of 10) (see /output/testlogs/flaker/test_run_10_of_10.log).
FAIL: //:flaker (run 4 of 10) (see /output/testlogs/flaker/test_run_4_of_10.log).
FAIL: //:flaker (run 5 of 10) (see /output/testlogs/flaker/test_run_5_of_10.log).
FAIL: //:flaker (run 9 of 10) (see /output/testlogs/flaker/test_run_9_of_10.log).
FAIL: //:flaker (run 3 of 10) (see /output/testlogs/flaker/test_run_3_of_10.log).
Target //:flaker up-to-date:
bazel-bin/flaker
INFO: Elapsed time: 0.828s, Critical Path: 0.42s
//:flaker FAILED
Executed 1 out of 1 tests: 1 fails locally.
2 回答
除了--cache_test_results之外,Bazel实际上还有一个专门用于诊断片状测试的标志:--runs_per_test,它将重新运行测试N次并且只保留失败运行的日志:
您可以使用它快速找出测试的碎片程度并获得一些失败的日志 .
显然它有一面旗帜:)
https://docs.bazel.build/versions/master/user-manual.html#flag--cache_test_results