Вступить в клуб →
сложнаявопросАрхитектура и состояние экрана

Тест про подписку падает по ночам в CI

В доменном слое:

class SubscriptionUseCase {
  bool isExpired(Subscription s) => DateTime.now().isAfter(s.endsAt);
}

Тест «подписка, истекающая завтра, считается активной» проходит днём, но иногда падает на ночных прогонах пайплайна. Тестовые данные готовятся относительно текущей даты.

Как правильно поступить?

  • Сдвинуть даты в тестовых данных на год вперёд — падать перестанет
  • Считать текущее время внешней зависимостью и передавать источник времени в use case, чтобы тест сам задавал «сейчас»
  • Пометить тест как нестабильный и отключить, а подписки проверять вручную перед релизом
  • Зафиксировать часовой пояс раннера в конфигурации пайплайна — это устраняет причину, ведь тест меняет вердикт именно на границе суток

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

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

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

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