Я использую BDD (Behat) для функционального тестирования в своем проекте. Теперь у меня есть проблема при тестировании функции со слишком большим количеством фоновых заданий. Пример:BDD-тестирование со слишком большим количеством фоновых заданий?
Scenario: Import issue at the first time
Given I have a issue package "1602.zip"
When I upload issue "1602.zip"
Then I have to wait until it is finished
And I can see list of articles are imported
And status of issue is "1"
«Тогда я должен ждать, пока она не будет закончена» содержит:
- Сервера 1 получил загруженный файл, вставить некоторые метаданные в базу данных и отметьте статус «импорт» , затем загрузите zip-файл в s3
- Сервер 2 загрузите файл с s3 и обработайте активы, такие как PDF, изображения, затем запишите все после обработки и загрузите на s3 снова.
- Сервер 3 скачать результат почтовый пакет (сделано сервером 2) от s3, и начать импортировать выпуск (импорт PDF, изображения, статьи ...)
"И я могу увидеть список статьи импортируются «Я вызываю API на сервер, чтобы получить список статей этой проблемы.
Так как вы можете видеть, потому что во время импорта, у нас слишком много фоновых заданий (с использованием Resque), так что я должен ждать, пока она не будет завершена проверка состояния выдачи:
while ($status != 1) {
$status = getStatusOfIssue(123);
if (1 === $status) {
break;
}
}
Проблема заключается в том Я не знаю, сколько времени мне нужно ждать, потому что это зависит от размера пакета проблем, большего размера - более длительного времени для ожидания. Итак, в этой ситуации, что мне делать?
В чем состоит «Я должен подождать, пока это не закончится»? и что «я вижу список статей импортированы» чеки? – lauda