【发布时间】:2015-04-16 23:30:32
【问题描述】:
我想测试我的返回 twitter.Future 的代码在未满足要求时会抛出 IllegalArgumentException。
我正在使用 scala 测试,其中包含从 twitter.Future 到 FutureConcept 的隐式转换(类似于 ScalaFutures 特征的工作方式,但适用于 twitter Futures)
但我找不到应该怎么做!
我尝试了以下方法:
whenReady(methodThrowingExceptionFromFuture) {...handling}
这会在到达处理部分之前将异常作为 TestFailedException 抛出,因此它不会根据需要拦截异常。 所以我尝试拦截:
intercept[IllegalArgumentException] { future.futureValue }
但这里也一样。我认为 FutureConcept 将异常包装为 TestFailedException 所以我正在考虑解包真正的异常,但肯定有其他方法可以与 scala 期货一起处理负面测试用例吗?
【问题讨论】:
-
future 到 twitter.futures 的隐式转换取自这里:cjwebb.github.io/blog/2015/02/02/scalatest-futures