有没有办法让SBT只重新运行上次测试套件中失败的测试?例如,如果我运行sbt test
,并且其中有20个测试,其中3个测试失败,是否可以运行任何命令来让SBT只重新运行这3个失败的测试?
具体而言,我正在使用Scala Test和Scala Check来运行通过SBT运行的测试。
有没有办法让SBT只重新运行上次测试套件中失败的测试?例如,如果我运行sbt test
,并且其中有20个测试,其中3个测试失败,是否可以运行任何命令来让SBT只重新运行这3个失败的测试?
具体而言,我正在使用Scala Test和Scala Check来运行通过SBT运行的测试。
如果你正在使用最新版本的sbt,只需运行sbt testQuick命令。
sbt testQuick
无法正常工作,因为当一组Scala Test测试中至少有一个测试失败时,它会重新运行所有测试。此外,它还会忽略所有的ScalaCheck测试,无论它们是否失败。 - Christopher Wellssbt testQuick
在我的情况下并没有起作用。成功的方法是前往sbt shell,并使用测试类的名称运行testOnly
。例如:testOnly clients.MyClientSpec
。 - caytekin
test-quick
命令。 http://www.scala-sbt.org/0.12.4/docs/Detailed-Topics/Testing.html#test-quick - maks