Ich verwende ScalaTest zum Testen einiger Scala-Code. ich testen derzeit für erwartete Ausnahmen mit Code wie diesemSo testen Sie zusätzliche Eigenschaften der erwarteten Ausnahmen mit ScalaTest
import org.scalatest._
import org.scalatest.matchers.ShouldMatchers
class ImageComparisonTest extends FeatureSpec with ShouldMatchers{
feature("A test can throw an exception") {
scenario("when an exception is throw this is expected"){
evaluating { throw new Exception("message") } should produce [Exception]
}
}
}
Aber ich möchte auf die Ausnahme zusätzliche Überprüfung hinzufügen, z.B. Ich möchte überprüfen, dass die Ausnahmemeldung einen bestimmten String enthält.
Gibt es einen "sauberen" Weg, dies zu tun? Oder muss ich einen try catch-Block verwenden?
Es funktioniert und ich mag t seine Syntax: Es ist in Übereinstimmung mit allen "sollte sein" für Funktionsergebnisse. –
"evaluating" ist in 2.x veraltet und in 3.x entfernt. Deprecation-Dokumente empfehlen die Verwendung von 'a [Exception] sollte stattdessen" throntBy "sein. 3.0.0-M14 gibt jedoch eine 'Assertion' zurück:' val ex: Assertion = an [Exception] sollte geworfen werdenBy {neue Exception ("boom")} '. Gibt es eine Möglichkeit, die "Exception" zurück zu bekommen? – kostja