Ich sehe keine Möglichkeit, einen einzelnen unmarkierten Test innerhalb einer Testklasse auszuführen, aber ich stelle meinen Workflow zur Verfügung, da er für jeden nützlich zu sein scheint, der auf diese Frage stößt.
Aus einer sbt Sitzung:
test:test-only *YourTestClass
(Der Stern ist ein Platzhalter, könnten Sie den vollständigen Pfad com.example.specs.YourTestClass
angeben.)
Alle Tests innerhalb dieser Testklasse ausgeführt werden. Vermutlich sind Sie am meisten betroffen mit vorgeschriebenen Prüfungen nicht, so irgendwelche Fehler Implementierungen korrigieren und dann laufen:
test:test-quick
... die Tests nur ausführen, die fehlgeschlagen. (Die Wiederholung des zuletzt ausgeführten Befehls test:test-only
entspricht in diesem Fall test:test-quick
. Wenn Sie jedoch Ihre Testmethoden in geeignete Testklassen aufteilen, können Sie einen Platzhalter verwenden, um test:test-quick
einen effizienteren Weg zur Wiederholung fehlgeschlagener Tests zu bieten.)
Beachten Sie, dass die Nomenklatur für den Test in ScalaTest eine Testklasse und keine spezifische Testmethode ist. Daher werden alle nicht markierten Methoden ausgeführt.
Wenn Sie zu viele Testmethoden in einer Testklasse haben, zerlegen Sie sie in separate Klassen oder markieren Sie sie entsprechend. (Dies könnte ein Signal sein, dass die Klasse im Test unter Verletzung von single responsibility principle ist und ein Refactoring verwenden könnte.)
Ihr Thema sagt „Scalatest-sbt“. Wenn sbt angehängt wird, denken die Leute normalerweise an ein Plugin. Aber, nur um zu verdeutlichen, Sie sprechen über die Verwendung von [ScalaTest] (http://www.scalatest.org/) aus einer modernen Version von sbt wie sbt 0.12, nicht [josshcough/scalatest-sbt] (https: // github.com/joshcough/scalatest-sbt) ein Plugin für sbt 0.5.2-p3 vor 4 Jahren geschrieben. Richtig? –
Korrigieren. Das ist eine alte Frage und ich habe seitdem herausgefunden, dass es nicht möglich ist (soweit ich weiß). Ich habe es nicht geschlossen, für den Fall, dass es jemandem tatsächlich gelungen ist, einen Weg zu finden, aber ich brauche das nicht mehr zu beantworten. – Nacht
Es gibt einen Thread dazu (mit Beteiligung von Bill Venners und Mark Harrah) unter https://groups.google.com/forum/#!topic/scalatest-users/1oRMkudFAXM, aber noch keine Lösung. –