Каков наилучший способ автоматизации интеграционного тестирования, когда используются асинхронные обратные вызовы?
Скажем, например, у меня есть модуль A, и когда я что-то вызываю в этом модуле, он сразу же возвращает ответ, который я могу проверить как часть моих тестов. Но в дополнение к этому немедленному ответу обратный вызов должен произойти в течение определенного промежутка времени (скажем, 5 минут), который предоставляет дополнительную информацию, которую необходимо оценить для теста.
По сути, я хотел бы выполнить тест сразу же по ответу, а затем сказать некоторому тестированию, чтобы он ожидал обратного вызова в течение определенного периода времени, а также подтвердил это. Если в течение таймфрейма обратного вызова не происходит или если обратный вызов имеет неожиданный ответ, тест не пройден.
Существует ли инструмент непрерывной интеграции или какой-либо другой инструмент, который я могу использовать для проведения подобных тестов?