のタイムアウトは、私はそうのようなコードの行のためのタイムアウトを設定することができトレイト:scalatest Flatspec:scalatest FlatspecとTimeLimitsで、クラス全体
import org.scalatest.time.SpanSugar._
import org.scalatest.concurrent.TimeLimits
import org.scalatest.FlatSpec
class MyTestClass extends Flatspec with TimeLimits {
"My thread" must "complete on time" in {
failAfter(100 millis) { infiniteLoop() }
// I have also tried cancelAfter
}
}
これは、タイムアウトのために失敗する必要があります。しかし、Intellijでこのテストを実行すると、永遠に実行されます。
また、すべてのメソッドのタイムアウトを書き直す必要はありません。代わりに、クラス全体で1回構成したいと思います。 PatienceConfigはこれを行うと主張していますが、何もしていないようです。テストはまだ永遠に実行されます。
import org.scalatest.FlatSpec
import org.scalatest.time.{Millis, Span}
import org.scalatest.concurrent.{Eventually, IntegrationPatience}
class MyTestClass extends Flatspec with Eventually with IntegrationPatience {
implicit val defaultPatience = PatienceConfig(timeout=Span(100, Millis))
"My thread" must "complete on time" in {
inifiniteLoop()
}
}