如何在ScalaTest中测试两个或更多异常?

时间:2015-08-12 19:19:47

标签: scala scalatest

我正在使用ScalaTest进行单元测试。我目前有以下内容:

f(x) should produce[Exception]

我想指定两个或更多Exception的子类,例如

f(x) should (produce[ExceptionA] or produce[ExceptionB])

这可能吗?如果没有,推荐的方法是什么?

1 个答案:

答案 0 :(得分:3)

我会考虑重构您的代码或测试,如果您有一块代码块,它会抛出异常的非确定性。也就是说,您可以使用 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 块来捕获抛出的异常,然后检查它是否是所需类型之一。 e.g。

evaluating

然后

val caught = evaluating {
  // code that should throw an exception
} should produce [Exception]