Я использую gitlab-ci для запуска своего набора тестов. В одном тесте я хотел бы смоделировать изменение системной даты (например, перейти на следующий день), чтобы увидеть, все ли работает так, как ожидалось, например:
- ключи redis удалены (TTL)
- некоторые файлы записываются с новым «номером запуска», поскольку дата изменилась
- дата и время рассчитаны нормально
- ...
Как смоделировать изменение системной даты / времени для целей модульного тестирования?
РЕДАКТИРОВАТЬ :так как моя кодовая база находится на Python, я нашел freezegun и python-libfatketime ;первый может, вероятно, справиться с моим кодом Python, а второй более мощный, поскольку он перехватывает системные вызовы, поэтому теоретически я могу использовать его для тестирования redis TTL, если я запускаю redis после применения исправлений.