Ich sehe, dass es mehrere Möglichkeiten gibt, Fixture-Daten in eine Datenbank zu laden. Aber was ist nach einem Funktionstest der beste Weg, um zu bestätigen, was in die Datenbank geschrieben wurde?Was ist beim Symfony2-Funktionstest die beste Methode, um Datenbankinhalte zu überprüfen?
Das phpunit-Paket enthält einen ganzen Abschnitt, wo Sie ein Dataset laden und dann Dinge wie assertTablesEqual() verwenden können, um den Inhalt einer Tabelle mit dem erwarteten Inhalt zu vergleichen. Aber das scheint unter Symfony2 nicht anwendbar zu sein, und ich kann keine andere Standardmethode finden.
Wie lösen andere dieses Problem?
Verwandte: http://stackoverflow.com/questions/10784973/how-to-set-up-database-heavy-unit-tests-in-symfony2-using-phpunit – k0pernikus
sah ich diese Frage, aber Leider geht es nur darum, das Gerät zu erstellen und die Ergebnisse nach einem Funktionstest nicht zu bestätigen, es sei denn, mir fehlen einige Aspekte der Antwort. – Nairebis
Es geht nicht nur darum, Fixtures zu erstellen. Das ist nur dein Ausgangspunkt. Für einen Funktionstest auf der DB-Seite müssen Sie einen DB im laufenden Betrieb erstellen, Ihre Tests durchführen und dann die Test-DB zerstören. Innerhalb des Funktionstests können Sie auch Ihre DB abfragen und nach den Werten suchen. Wie ich glaube nicht, sollten Sie den tatsächlichen Inhalt der DB testen, aber wenn Ihr Repository die richtigen Daten zurückgibt, nachdem bestimmte Dienste in die DB geschrieben haben. Denken Sie daran, dass der Setup- und Teardown-Prozess für jeden Testfall ausgeführt werden muss und dass der Test lange dauern kann. – k0pernikus