Главная · Каталог задач · Управление временем в тестах

Готовый сценарий

Управление временем в тестах

Управление временем в тестах позволяет проверять срок действия без ожидания в реальном времени. Енотик поможет выделить источник часов и настроить таймеры под ваш инструмент. Учебная сессия действует 15 минут: нужно определить, считается ли она просроченной ровно на границе, затем проверить момент до, на и после неё. Отдельно рассматриваются календарные расписания в локальной зоне: прибавление длительности и переход к завтрашнему времени решают разные задачи.

Попробуйте прямо здесь Отвечает Gemma 3 12B — модель подобрал сервис

Открыть в полном чате

  • Доступ без VPN
  • Русский интерфейс
  • Оплата рублями по факту

Зачем

Зачем это нужно

01

Запишите правило сравнения на границе срока до подмены времени.

02

Разделите часы для расчёта даты и таймеры для выполнения отложенного действия.

03

Восстанавливайте подмены и проверяйте независимость соседних тестов.

Вопросы

Частые вопросы

Как задать точный пример истечения сессии?

«Учебная сессия создана в 10:00 UTC и действительна, пока now меньше 10:15. В 10:14:59 доступ есть, в 10:15:00 и 10:15:01 — нет». Попросите тест без реальной паузы. Три значения проверяют именно выбранное правило, а не расплывчатое “примерно через пятнадцать минут”. Если контракт другой, сначала измените ожидаемую границу, затем тестовую реализацию.

Подмена даты запускает setTimeout?

Не обязательно: источник текущего времени и механизм выполнения таймеров связаны инструментом лишь определённым образом. Попросите показать последовательность продвижения виртуального времени и ожидания асинхронных продолжений для вашей версии фреймворка. Проверяйте как результат функции срока, так и факт вызова отложенной очистки. Иначе тест может считать сессию просроченной, но никогда не выполнить callback, который должен удалить её из хранилища.

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

Укажите часовую зону и правило для отсутствующего или повторяющегося времени при сезонном переходе. Для «каждый день в 09:00» календарная дата важнее постоянного числа секунд между запусками. Попросите конкретные даты, подтверждённые правилами зоны, и ожидаемое поведение. Для простого TTL обычно удобнее абсолютная временная шкала; не смешивайте её с человеческим расписанием без явного решения.

Почему тесты могут влиять друг на друга?

Глобальные часы, таймеры и настройки зоны остаются изменёнными после ошибки, если очистка не гарантирована. Попросите фикстуру с восстановлением и тест соседнего сценария, использующего обычное время. Учтите параллельный запуск. Енотик подготовит схему, но не подтвердит поведение вашего runner без прогона; назовите Jest, pytest или другой инструмент и версии, чтобы пример использовал поддерживаемый механизм управления временем.

Рядом

Дальше — весь каталог задач: поиск по названию, темы и фильтры.

Нужно больше

Весь Енотик — в одном окне

Полный чат: история, вложения, базы знаний, картинки и видео. Один баланс на все модели, оплата рублями по факту.