specs2 - 如何吞下异常

specs2 - how to swallow exceptions

我正在使用 specs2 作为我的测试框架。 我想模拟一个用例,其中 actionA return 一个失败的未来。 像这样:

  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);
  }

问题是,如果我没有捕捉到异常,我的测试就会退出,难道 specs2 没有更好的方法来处理异常吗? 有没有更好的方法来测试这种情况?

谢谢!

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 -> 异常