Полезные библиотеки: freezegun - замораживаем время

В модуле datetime есть now() - метод, который возвращает текущее время. Применяется метод часто, например, создаем новую запись в базе данных - в лог пишем запись от текущего времени.

Вот только такой код оттестировать не всегда просто - иногда надо чтобы now() возвращал конкретное время. Для этого случая есть freezegun:

from freezegun import freeze_time
import datetime
import unittest

@freeze_time("2012-01-14")
def test():
    assert ...
more ...

Имитация файловой системы с помощью mock

Вы пишите тесты? Тогда вам знаком модуль mock (в Python3 находится в unittest). Это модуль, который позволяет сделать имитацию объекта.

Это необходимо, когда пишите тесты на свой код, а этот код использует множество долгих приготовлений: сходить в БД, разобрать данные еще что-то. Вот в этом случае вы можете провести имитацию всех этих долгих приготовлений и сконцентрироваться на написании тестов для ...

more ...