J'utilise ScalaTest pour tester du code Scala. Je actuellement à l'essai des exceptions prévues par le code comme celui-ciComment tester les propriétés supplémentaires des exceptions attendues en utilisant 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]
}
}
}
Mais je voudrais ajouter contrôle supplémentaire à l'exception, par exemple Je voudrais vérifier que le message d'exceptions contient une certaine chaîne.
Existe-t-il un moyen «propre» de faire cela? Ou dois-je utiliser un bloc try catch?
Cela fonctionne et j'aime t sa syntaxe: elle est en ligne avec tous les «devraient être» pour les résultats de la fonction. –
'evaluation 'est déprécié dans 2.x et supprimé dans 3.x. Les docs de dépréciation conseillent d'utiliser 'une [Exception] devrait être thrownBy' à la place. Cependant 3.0.0-M14 renvoie une 'Assertion':' val ex: Assertion = une [Exception] devrait être thrownBy {throw new Exception ("boom")} '. Existe-t-il un moyen de récupérer l'exception 'Exception'? – kostja