Ich schreibe viele Integrationstests für Magento 2. Dies hilft meiner lokalen Entwicklung und sie passen gut in eine CI-Arbeitsweise.
Es gibt jedoch einige Besonderheiten bei der Integrationstestsuite von Magento. Zum Beispiel:
- Standardmäßig werden alle Module aktiviert, und es gibt keine Möglichkeit, dies zu deaktivieren. Dies kann einige unerwünschte Nebenwirkungen haben, da Sie in einem Client-Projekt höchstwahrscheinlich Module deaktivieren, die Sie nicht benötigen, z. B. das Vertex-Modul. Dieses Modul fügt Ihrem Kundenmodell jedoch ein erforderliches Feld hinzu. Wenn Sie also in Ihrem Integrationstest einen Kunden erstellen , schlägt dieser Test fehl .
- Es fügt Ihrer Codebasis Magento-Testmodule hinzu . Jedes Mal, wenn Sie Ihre Integrationstestsuite ausführen, befinden sich 3 zusätzliche Module in Ihrem
app/code/Magento
Namespace.
Diese Probleme erschweren die Verwendung eines Integrationstests in einem lokalen Projekt. Jemand hat mir einmal gesagt, dass die Integrationstests nur für Erweiterungsentwickler erstellt wurden, um zu testen, ob Ihr Modul die Kriterien für den Markteintritt erfüllt. Ist das wahr? Denn wenn ja: Wie kann man dann Integrationstests für den Webshop Ihrer Kunden richtig schreiben? Ich mag die Magento-Anmerkungen und so. Wirklich frustrierend.