Wie überschreibt man ein Zeitstempelfeld für Unit-Testzwecke?

class Record(ndb.Model): notes = ndb.TextProperty() last_updated = ndb.DateTimeProperty(auto_now=True) 

Teil der Einheit Testaufbau:

 record2 = Record() # trying to set the last_updated timestamp to a previous date record2.last_updated = previous_date record2.put() #after saving it, the timestamp is back to today's date 

Daher kann ich keinen alten Rekord für meine Unit-Tests emulieren. Wie kann ich dieses Feld überschreiben, ohne das Modell ändern zu müssen?

One Solution collect form web for “Wie überschreibt man ein Zeitstempelfeld für Unit-Testzwecke?”

Aus den dokumenten

Es ist möglich, den Wert für eine Eigenschaft mit auto_now_add=True zu überschreiben, aber nicht für einen mit auto_now=True . Der automatische Wert wird erst erzeugt, wenn die Entität geschrieben ist. Das heißt, diese Optionen bieten keine dynamischen Vorgaben. (Diese Details unterscheiden sich von der alten db API.)

  • Wie benutzt man ein Befehlszeilenargument in unittest?
  • Wiederholungscode in unbescheidenem Testfall
  • Speziell benannte Verzeichnisse mit Nosetests
  • Verwenden von unittest.mock zum Patch-Eingabe () in Python 3
  • Wie gruppiere ich Unit-Tests in Django bei einer höheren Granularität als die App?
  • Django Benutzer Setup für Nase Tests
  • Testen eines Python-API-Clients
  • Bei der Verwendung von unittest.mock.patch, warum ist autospec nicht true standardmäßig?
  • Kann das Python-Coverage-Modul die Zeilen in einem Unit-Test bedingt ignorieren?
  • Wie man Firefox-Profil mit Selen umschaltet - ohne einen neuen Treiber zu benennen?
  • Spott eine Steckdose in Python
  • Python ist die beste Programmiersprache der Welt.