我正在尝试为具有以下方法的类编写测试:
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()
调用返回可预测的内容。
我一直在阅读很多在测试中使用Mock的示例,但没有找到与我需要的东西非常相似的东西,而且我不知道如何在测试中使用它。
我将get_now()
方法分开,以防它更容易模拟,而不是datetime.datetime.now()
,但我仍然很难过。关于如何使用 Mock 为此编写 UnitTests 的任何想法?(这一切都在 Django 中,fwiw;我不确定这在这种情况下是否会有所不同。)