Сквозные тесты, основанные на времени - PullRequest
0 голосов
/ 24 августа 2018

Я пишу тесты для HTTP REST-подобного API.Эти тесты являются сквозными тестами, связанными с запущенным приложением (веб-сервер, база данных, все).

Я ищу хороший способ протестировать функции, основанные на времени.Поскольку это сквозной тест, Я не могу просто смоделировать функции, связанные со временем .

В качестве примера подумайте о календаре Google.

Scenario: Event notification
  Given it is 15:09
  When I create new event starting at 15:20 with email notification 10 minutes in advance
  Then I receive email notification within next 3 minutes

Для одиночного теста я могу просто создать вовремя и дождаться электронной почты, но когда у меня повторяются события (скажем, еженедельно), то мне нужно проверить уведомление на следующей неделе.

Iдумал об отправке заголовка, который (в среде разработчика) изменит время приложения, но работник, отправляющий уведомления, работает в отдельном процессе и не будет затронут.

...