Alte Frage, aber da ich gerade das gleiche Bedürfnis habe, hier ist eine Lösung: sbt gibt einen Nicht-Null-Exit-Code zurück, wenn Sie es einmal mit den Tests ausführen, also eine Möglichkeit zu loopen, bis es scheitert Schau dir den Exit-Code in der Shell an:
%Vor%Ich habe sbt-Plugin für Flockige Test-Erkennung erstellt: sbt-flacy . Sie können Test für ausführen:
sbt clean "flaky duration=30"
, sbt clean "flaky times=30"
sbt clean "flaky firstFail"
. Der Vorteil dieses Plugins ist die Aggregation von Fehlern, Verlaufstrends und die Möglichkeit, flockige Tests in die Pipeline zu integrieren.
Meiner Meinung nach trifft das nicht besonders auf SBT oder ein anderes Build-Management-Tool zu. Es gibt keine eingebaute SBT-Funktion dafür. Sie müssten einen bauen, aber es wäre weit entfernt von dem, was SBT bieten soll - Build Configuration Management. Es kann eine Weile dauern, den Fall zu treffen, was dazu führt, dass der Build / Test fehlschlägt. Es ist sehr unberechenbar.
Wenn Ihr Test fehlschlägt, bedeutet dies, dass es Fälle gibt, die der Test nicht besteht. Der Fehler sollte Ihnen sagen, was Sie verwenden, um den Test zu verbessern.
ScalaCheck: Eigenschaftsbasierte Tests für Scala könnten hilfreich sein.