如何模拟_auto_now?

时间:2015-09-21 22:08:39

标签: python unit-testing google-app-engine google-cloud-datastore app-engine-ndb

我有一个带有' created_on'的ndb.model类。 auto_now_add设置为true的字段。

MyFormat

我正在测试一种方法' create()'创建此类的对象。这是我在测试中基本上做的事情:

  • 使用' create()'创建对象正在测试的方法。
  • 获取对象。
  • 与存根(不使用' create()'方法创建)比较。

问题在于,我无法设置' created_on'匹配存根。

我如何模仿这样的东西? (我可以在后端使用api吗?)

1 个答案:

答案 0 :(得分:2)

过去,我曾使用freezegun来嘲笑这类事情。它看起来像是:

@freezegun.freeze_time('2015-9-21')
def test():
    assert ModelClass.create(...) == ModelClass(...)

如果您不喜欢这样,可以在这两个模型上调用to_dict并弹出'created_on'属性。