Testen von Google App Engine-Datenspeicherabfragen
Beim Versuch, Datenspeicherabfragen in Einheiten zu testen, können Entwickler beim Versuch, die Ergebnisse zu überprüfen, auf Probleme stoßen. Dieser Artikel befasst sich mit einem häufigen Problem, mit dem Tester konfrontiert sind.
Abfragefehler in Tests
Beim Testen von Datenspeicherabfragen kommt es nicht selten zu Fehlern, obwohl der Code im korrekt funktioniert Produktionsumgebung. Bei Abfragen innerhalb von Tests gelingt es häufig nicht, Daten abzurufen, die erfolgreich eingefügt wurden.
Grund für Fehler: Eventuelle Konsistenz
Der Kern des Problems liegt in der Verwendung von „“ durch den Datenspeicher. letztendliche Konsistenz.“ Das bedeutet, dass Abfragen nicht sofort konsistent sind und es einige Zeit dauern kann, bis die Auswirkungen der letzten Datenänderungen angezeigt werden.
Problem mit dem Datensimulator
Der beim Testen von Nachahmungen verwendete Datenspeichersimulator die in der Produktion beobachtete Latenz. Wenn Sie eine neue Entität einfügen und sofort eine Abfrage ausführen, schließt die Abfrage die neue Entität nicht ein, da die Daten noch nicht vollständig weitergegeben wurden.
Mit Verzögerung oder stark konsistentem Datenspeicher auflösen
Um dieses Problem zu beheben, führen Sie eine Verzögerung zwischen den Aufrufen datastore.Put() und q.GetAll() ein oder nutzen Sie die Option StronglyConsistentDatastore. Ancestor-Abfragen, die für ihre starke Konsistenz bekannt sind, lösen dieses Problem ebenfalls.
Das obige ist der detaillierte Inhalt vonWarum schlagen meine Abfragetests für den Google App Engine-Datenspeicher fehl, obwohl sie in der Produktion funktionieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!