1

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

此致

4

1 回答 1

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"))
  }
}
于 2017-10-12T12:17:52.973 回答