Как смоделировать 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; я 'Я не уверен, если это имеет значение в этом случае.)