Estoy usando ScalaTest para probar algún código de Scala. actualmente pruebas para las excepciones previstas con código como esteCómo probar propiedades adicionales de excepciones esperadas usando 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]
}
}
}
Pero me gustaría añadir comprobación adicional de la excepción, por ejemplo, Me gustaría comprobar que el mensaje de excepciones contiene una determinada cadena.
¿Existe una forma "limpia" de hacerlo? ¿O tengo que usar un bloque try catch?
Funciona y me gusta t su sintaxis: está en línea con todos los "debería ser" para los resultados de la función. –
'evaluation 'está en desuso en 2.x y eliminado en 3.x. Los documentos de depreciación aconsejan utilizar 'an [Exception] should throwwnBy' en su lugar. Sin embargo, 3.0.0-M14 devuelve una 'Afirmación': 'val ex: Assertion = an [Exception] debe lanzarseBy {throw new Exception (" boom ")}'. ¿Hay alguna manera de recuperar la 'Excepción' lanzada? – kostja