Ich habe begonnen, Doctrine 2 Mongo ODM Unit Tests zu schreiben, habe aber festgestellt, dass ich dafür keine gute Strategie in meinem Code habe. Ich möchte die Tests ausführen und die Objekte tatsächlich beibehalten, aber ich möchte dann zulassen, dass meine Testdaten in trineDown leicht entfernt werden können. Sammlungs- und DB-Namen müssen aus dem, was ich in den Annotationen gesehen habe, angegeben werden und können nicht überschrieben werden, so dass ich nicht einfach eine Test-DB erstellen und sie später löschen kann.
Hat jemand Best Practices oder Beispiele dafür, was er für die besten Testmöglichkeiten hält?
Sie müssen Ihre Objekte nicht beibehalten. Der gute Weg ist die Verwendung von Mock, um zu überprüfen, ob Ihr Objekt dauerhaft ist. Ich gebe dir ein Beispiel. Sagen wir, du hast eine Klasse:
%Vor% Nun werden Sie nicht prüfen, ob ein Dokument wirklich persistiert wurde, weil dies irgendwo ID-Code getestet wird. Sie können davon ausgehen, dass die Methoden persist
und flush
einwandfrei funktionieren. Die Sache, die Sie überprüfen möchten, ist, ob Ihr Code diese Methoden korrekt aufruft.
So könnte Ihr Test aussehen:
%Vor%