/ / specs2 - jak przełknąć wyjątki - scala, testowanie jednostkowe, mockito, specs2

specs2 - jak przełknąć wyjątki - scala, testowanie jednostkowe, mockito, specs2

Używam specyfikacji2 jako mojej ramy testowej. Chcę zasymulować przypadek użycia, w którym actionA zwraca niepomyślną przyszłość. Lubię to:

  val actionA = mock[ActionA]
val actionB = new ActionB(actionA)
actionA.doSomthing(x) returns Future.failed(new Exception("bla"))
try {
Await.result(actionB.doSomthing(request), 1 seconds)
}catch {
case e: Exception => println("exception caught: " + e);
}

Problem polega na tym, że moje wyjście testu z tym wyjątkiem, jeśli go nie łapię, nie ma lepszego sposobu na przełknięcie wyjątków? Czy istnieje lepszy sposób na przetestowanie takiego scenariusza?

Dzięki!

Odpowiedzi:

4 dla odpowiedzi № 1
Await.result(actionB.doSomething(request), 1 seconds) must throwA[Exception]

przez https://etorreborre.github.io/specs2/guide/SPECS2-3.6.5/org.specs2.guide.Matchers.html -> Wyjątek