В Споке вы можете установить время ожидания, после которого тест не пройден.
@Timeout(value = 1500, unit = TimeUnit.MILLISECONDS)
def "this method should not run longer than 2 seconds"() {
given:
userFilter = buildUserFilter(); // criteria to search users.
exportDestination = buildDestination(); // where to export users.
expect: "should not take long"
userService.exportUsers(userDetails);
}
Теперь мне нужно нечто противоположное: тест должен пройти после тайм-аута.
def "should block and wait until user-microservice is up"() {
given:
userExportMicroserviceClient = mock()
userExportMicroserviceClient.getUsers(_) >> httpNotFound
expect: "should block the current thread because userMicroservice is down"
failHere()
}
Я знаю, это плохо, зависеть от доступности других услуг.Эта вещь работает только во время переноса данных и не связана с ежедневными задачами.
Опять же, у меня есть метод, который дает пользователям микросервис пользователя, и он блокируется, пока микросервис пользователя не будет запущен.Как мне это проверить?