Вступить в клуб →
средняявопросТестирование: PHPUnit и feature-тесты

Тест истечения подписки проходит в полдень и падает около полуночи

$subscription = Subscription::factory()->create(['paid_until' => today()]);
$this->assertTrue($subscription->isActive());   // внутри now()->lte(paid_until->endOfDay())

Тест иногда падает в CI, запущенном около полуночи. Как сделать тест детерминированным?

  • Зафиксировать время через travelTo
  • Не запускать тесты с 23:00 до 01:00
  • Использовать date() вместо now()
  • Добавить к paid_until запас в неделю

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела