如何连续测试直到flakey测试失败?

som*_*ytt 9 scala sbt

如果有时候测试失败了,我可以请求sbt继续测试直到失败吗?

否则,我在看箭头的时候卡住了向上箭头.(双关语意外但发酵)

/sf/ask/1565670361/

lpi*_*ora 14

我遇到了同样的问题,我最终将其作为一个命令来实现.

lazy val root = Project("test", file(".")).
  settings(commands += Command.command("testUntilFailed") { state =>
    "test" :: "testUntilFailed" :: state
  })
Run Code Online (Sandbox Code Playgroud)

优点是它将跳过SBT加载.您还可以添加额外的参数或运行testOnly以测试单个测试.

  • 这应该是公认的答案!跑起来快多了。 (2认同)

joh*_*ren 5

这是一个老问题,但我自己也有同样的需要,这是一个解决方案:如果您在测试中一次性运行它,sbt将返回非零退出代码,因此,一种循环直到失败的方法是仅查看在shell中退出代码:

while [ $? -eq 0 ]; do sbt test; done
Run Code Online (Sandbox Code Playgroud)