есть фикстура которая добавляет некоторые данные с текущей датой, и в тесте (функциональном) происходит запрос за этими данными с условием что дата = NOW(), ну и нужно что бы они нашлись естественно, проблема в том что когда девелопер запускает тесты в 01.01.2018 11:59 pm например, и пока они выполняются проходит несколько минут и уже новая дата, 02.01.2018 00:01 am и допустим этот тест который зависит от даты выполнится последним (с новой датой) и он не пройдёт, так как нужных данных не будет, ну а фикстуры выполняются только раз, перед всеми тестами, как такое хендлить? Я придумал только вот такое в фикстурах добавить:
if ($today->modify('+5 minutes') && $today->format('d') !== date('d')) {
trigger_error(
'Be careful, tests which depends on current date could be broken because in few minutes will be new day'
);
}
Прямо NOW()?
https://blog.thecodewhisperer.com/permalink/beyond-mock-objects
Обсуждают сегодня