Как смоделировать Python datetime.now () в методе класса для модульного тестирования?

Я пытаюсь написать тесты для класса, который имеет такие методы:

import datetime
import pytz

class MyClass:
    def get_now(self, timezone):
        return datetime.datetime.now(timezone)

    def do_many_things(self, tz_string='Europe/London'):
        tz = pytz.timezone(tz_string)
        localtime_now = self.get_now(tz)
        ...
        return things

Я хочу проверить это, и для этого мне нужно убедиться, чтоdatetime.datetime.now() вызов возвращает что-то предсказуемое.

читал много примеров использованияиздеваться в тестах, но убежищене нашел ничего, что мне нужно, и я не могуне могу понять, как использовать его в моих тестах.

Я отделилget_now() метод в случае, если этолегче издеваться, чемdatetime.datetime.now(), но я'Я все еще в тупике. Любые мысли о том, как написать UnitTests для этого с помощью Mock? (Это все в Django, FWIW; я 'Я не уверен, если это имеет значение в этом случае.)

Ответы на вопрос(4)

Ваш ответ на вопрос