我正在尝试使用 App Engine 的 NDB 测试 DateTimeProperty 的过滤器,但我已将其设置为 auto_now?
有没有办法绕过这个进行单元测试?
例子:
class MyModel(ndb.Model)
timestamp = ndb.DateTimeProperty(auto_now)
name = ndb.StringProperty()
def testMyModelFilter(self):
test1 = MyModel()
test1.timestamp = datetime.datetime.now() - datetime.timedelta(hours=2)
test1.put()
test2 = MyModel()
test2.timestamp = datetime.datetime.now() - datetime.timedelta(hours=1)
test2.put()
hour_ago = datetime.datetime.now() - datetime.timedelta(hours=1)
fetched = MyModel.query().filter(MyModel.timestamp < hour_ago).fetch(
None, keys_only=True)
不幸的是,当我使用 test.put() 将其提交到数据存储时,它使用的是 put() 的时间。