Scalatest: ожидание, пока утверждение станет истинным

#scala #scalatest

#scala #scalatest

Вопрос:

Существует ли в scalatest что-либо, что будет ждать в течение определенного периода времени, пока утверждение станет истинным?

Итак, например, если у меня есть поток, который вычисляет что-то асинхронно, я хочу дождаться в своем тесте, пока вычисление не достигнет ожидаемого значения.

Ответ №1:

Вы, скорее всего, захотите в конечном итоге:

https://www.scalatest.org/scaladoc/3.2.6/org/scalatest/concurrent/Eventually.html

Но если ваши вычисления находятся внутри future, вы, вероятно, захотите использовать один из поднаборов Futures:

https://www.scalatest.org/scaladoc/3.2.6/org/scalatest/concurrent/Futures.html

Комментарии:

1. Большое спасибо Биллу — в конечном итоге это именно то, что мне нужно.