© saicle/Shutterstock.com
Unit Tests in Magento mit EcomDev_PHPUnit

Unit Tests in Magento mit EcomDev_PHPUnit


Bereits in der letzten Ausgabe wurde der Backport der Magento-2-Tests auf Magento 1 vorgestellt. Darüber hinaus gibt es inzwischen aber eine Menge weiterer Testsuites, die den Umgang mit Singletons, Datenbanken oder vorkonfigurierten Sessions erleichtern.

In dieser Ausgabe wollen wir weitere Alternativen wie Mage-Test vorstellen und einen genaueren Blick in die wohl meist verbreitete Extension – EcomDev_PHP­Unit – werfen. Zunächst allerdings wollen wir unser Augenmerk auf etwas anderes richten: Bereits 2011 wurde Mage-­­Test [1] veröffentlicht. Es läuft trotz der frühen Versionsnummer 0.1.12 stabil, hat aber lange Zeit keine Updates mehr bekommen, weswegen die Anzahl der Features etwas hinterherhinkt. Im März 2012 gab es einen Neustart für das Projekt, da in früheren Versionen einige Core-Dateien von Magento bei der Installation überschrieben wurden – was nun beseitigt wurde. Voraussetzung für dieses Modul ist eine funktionierende Installation von PHPUnit [2] ab Version 3.5. Ein Video [3] erklärt die Installation von Mage-Test in gerade einmal 440 Sekunden – zunächst sollen drei Verzeichnisse erstellt werden:

  • /vendor enthält alle Third Party Extensions inklusive Mage-Test

  • /src ist das root-Verzeichnis von Magento

  • /tests enthält die Tests selbst

Mage-Test wird via git clone in das vendor-Verzeichnis installiert:

git clone https://github.com/MageTest/Mage-Test

Die weitere Installation erfolgt dann via modman [4]. modman erstellt dabei die Symlinks, die aus dem Magento-Verzeichnis in die Extension verlinken:

cd htdocs modman init modman link/path/to/vendor/Mage-Test

modman

Wenn man Extensions für Magento entwickelt, hat man immer wieder das Problem, dass sie direkt in die Verzeichnisstruktur von Magento integriert werden müssen. So befinden sich die eigenen Dateien an verschiedenen Stellen wie /app/code/local/, /app/design/, /app/etc/modules/, /app/locale/ oder auch direkt unter /js/. Um die Extension dennoch in einem einzigen Verzeichnis verwalten und z. B. in einer Versionsverwaltung pflegen zu können, bietet modman die Möglichkeit, das Extension-Verzeichnis in die jeweiligen Zielverzeichnisse via Symlinks einzubinden. Die Installation von modman ist denkbar einfach:

bash < <(wget -O - https://raw.github.com/colinmollenhour/modman/master/modman-installer)

Da es sich hierbei um ein bash-Skript handelt, muss es in die $PATH-Umgebungsvariable eingefügt werden und Ausführrechte bekommen.

Wird das Skript nun gestartet, sucht es im aktuellen Arbeitsverzeic...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang