bazel - 运行测试直到失败
问题描述
在 Bazel 中,您可以使用以下命令多次重新运行测试:
bazel test --runs_per_test=<n> <target>
这对于重现导致不稳定测试失败的条件很有用。
但是,这种方法的缺点是n
无论结果如何,测试都是运行时间。
对于在极少数情况下易碎的测试,这意味着您必须设置为n
高,但这意味着您可能必须滚动浏览大量文本才能找到失败的测试输出。
Bazel 中是否有内置方法来运行测试直到失败?现在我while
在 Bash 中使用了一个循环,这对我的用例来说已经足够了,但不便于移植:
while bazel test --test_output=errors -t- <target_name>; do :; done
解决方案
--notest_keep_going
一旦测试失败,通过将导致 Bazel 退出。因此,您可以--notest_keep_going
结合使用高得离谱的--runs_per_test
.
推荐阅读
- android - 如何构建 libpng NDK CMake android?
- rapidclipse - MainContainer.java 的 Designview 无法启动
- c# - xamarin 中的网格样式
- leaflet - 将叠加层添加到地图时如何将视图设置为叠加层?
- reactjs - 混淆使用 react-router 包
- python - 如何将 select_from 对象转换为 sqlalchemy 中的新表
- algorithm - 为什么背包问题的运行时间是 W 的 n 和 2 位数
- scikit-learn - 为什么`LogisticRegression` 采用`object` 类型的目标变量而没有任何错误?
- python - TypeError:元类“不接受任何参数”
- c# - Dapper 多重映射未在命名参数上拆分