如何使用utest测试TestSuite中的未来故障?

时间:2017-10-11 21:36:47

标签: scala unit-testing utest

我想知道μtest中scalatest中 recoverToSucceededIf 的等价性。实际上,github页面显示了aAsIK是TestRunner方法的runAsync方法。

祝你好运

1 个答案:

答案 0 :(得分:1)

我目前已经创建了一个扩展utest的特性,但肯定有一个原生方法。我不会将此标记为答案,因为这只是一种解决方法。

import scala.concurrent.Future

trait UTestExt {
  def recoverToSucceededIf[T <: Throwable: Manifest](f: => Future[Any]): Unit = {
    import scala.concurrent.ExecutionContext.Implicits.global
    f.map(_ => false).recover {
      case _: T => true
      case _    => false
    } foreach (assert(_,
                      manifest[T].runtimeClass.getName + " hasn't been thrown"))
  }
}
相关问题