Was verwenden Sie für Unit-Tests in Magento? Oder was wissen Sie über Unit Testing und Magento? Unabhängig davon, ob Sie TDD durchführen oder nur Unit-Tests für Ihre Projektkomponenten durchführen möchten, benötigen Sie hierfür einige Tools.
Der erste grundlegende Ansatz ist die Verwendung von Phpunit, aber es gibt Dinge, die zusätzliche Gimmicks benötigen, um Magento "testbar" zu machen.
Alles, womit ich gearbeitet habe, hat mit phpunit zu tun:
- MTAF
- EcomDev_PHPUnit (Nachteile: E-Mails können nicht getestet werden)
- TechDivision_MagentoUnitTesting (Versuch, Magento 2 Unit Tests zurück zu portieren)
- Mage-Test (Leichtgewicht-Unit-Test für Magento)
Gibt es noch andere Möglichkeiten?
quelle
PHPUnit wird von Magento 2 verwendet. Hier ist eine Beispieldatei auf GitHub. https://github.com/magento/magento2/blob/master/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php . (Ich habe diese Datei zufällig ausgewählt.) Vielleicht möchten Sie einen kurzen Blick auf den Magento 2-Testansatz werfen, damit alles, was Sie jetzt tun, mit Magento 2 kompatibel ist, wenn es veröffentlicht wird.
quelle
Sie sollten mit EcomDev PHPUnit gehen .
Ich persönlich bin der Meinung, dass alle Magento-Entwickler nach einer einheitlichen Unit-Testing-Lösung streben sollten. EcomDev bietet das am häufigsten verwendete und ausgereifteste dieser Frameworks, sodass Sie bereits über einen anständigen Pool an Entwicklern mit entsprechender Erfahrung verfügen. Die Verwendung eines einzelnen Frameworks reduziert auch die Notwendigkeit, eine Milliarde verschiedener Frameworks zu installieren.
EcomDev PHPUnit hat jedoch die seltsame Konvention, Tests direkt neben dem Produktionscode zu platzieren. Glücklicherweise kann dies durch Ändern einiger Codezeilen einfach behoben werden. EcomDev nimmt sich auch die Zeit für Updates (obwohl ihr Github-Repo Anzeichen von Aktivität zeigt, sind sie also eindeutig noch am Leben).
quelle
Für Unit-Tests ist EcomDev PHPUnit das Beste.
Vielleicht möchten Sie es mit Funktionstests in Magento versuchen? Beispiel mit casperjs: https://github.com/jacquesbh/hackathon-casperjs/
quelle