我使用specs2作为我的测试框架。 我想模拟一个用例,其中actionA返回一个失败的未来。 像这样:
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);
}
问题是如果我没有捕获它,我的测试退出此异常,不规范2有更好的方法来吞下异常吗? 有没有更好的方法来测试这种情况?
谢谢!
答案 0 :(得分:4)
Await.result(actionB.doSomething(request), 1 seconds) must throwA[Exception]
通过https://etorreborre.github.io/specs2/guide/SPECS2-3.6.5/org.specs2.guide.Matchers.html - >例外