JUnit позволява тестове, които "избягват" или отнемат твърде дълго, за да бъдат автоматично неуспешни (https://github.com/junit-team/junit4/wiki/timeout-for-tests). Пример:
@Test(timeout=1000)
public void testWithTimeout() {
...
}
Как мога да определя времето използва org.scalatest.FunSuite
?
Отговори:
2 за отговор № 1Можеш да използваш failAfter
от Timeouts
Характерна черта:
import org.scalatest.concurrent.Timeouts
import org.scalatest.time.{Span, Millis}
import org.scalatest.FlatSpec
class MyTest extends FlatSpec with Timeouts {
"This test" should "do smhtg" in {
// Here the timeout is 100ms
failAfter(Span(100, Millis)) {
// fails due to timeout:
Thread.sleep(200)
// or succeeds before timeout:
// assert(true)
// or fails before timeout:
// assert(1 === 2)
}
}
}
което по този начин ще се провали, защото е изтекъл срок.