1

µtest での scalatest でのrecoverToSucceededIfの同等性を知りたいです。実際、githubページには、AFAIKがTestRunnerメソッドであるrunAsyncメソッドが表示されています。

よろしくお願いします

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 に答える