DCODINGPLANET - PHP

Behat-Mink-Zombie

Was ist Behat, Mink und Zombie

Behat ist ein Framework zum Testen von Anwendungen. Es setzt auf die Technik der verhaltensgetriebenen Softwareentwicklung.
Wenn man Webanwendungen entwickelt, möchte man sein Ergebnis im Browser testen. Für ein automatisiertes Testen nutzt man entweder "headless browser emulators" oder "Browser controller". Um die Differenzen zwischen den verschiedenen API's aufzulösen, benutzt man Mink, eine Zwischenschicht zwischen dem Behat-Framework und den entsprechenden Treibern.

Installation

1.) Für den Zombie-Server benötigen wir node und npm. Diese kann man entweder über den Paketmanager der jeweiligen Linuxdistribution installieren, oder aber direkt über nodejs.org downloaden und installieren. Zusätzlich benötigen wir noch composer, einen PHP-Paketmanager.
2.) Setzen sie danach die Shellvariable NODE_PATH auf das Verzeichnis, in dem die Node-Module liegen, z.B.
export NODE_PATH=/usr/lib/node_modules
Dies sollte in Ihrer .bashrc Datei stehen und erneut eingelesen werden.
$ . ~/.bashrc
3.) Legen Sie in Ihrem Projektverzeichnis eine minimale composer.json mit folgendem Inhalt an:

{
    "require": {
    "behat/behat": "*",
    "behat/mink": "*",
    "behat/mink-extension": "*",
    "behat/mink-zombie-driver": "*"
    },
    "config": {
    "bin-dir": "bin/"
    }
}
4.) Legen Sie zusätzlich auch eine behat.yml Datei an und editieren sie die Datei wie folgt:

default:
    extensions:
        Behat\MinkExtension:
            zombie: ~

Somit aktivieren Sie den Zombie-Treiber nach der Installation.
5.) Nun können Sie das Framework inklusive Mink-Extension und Zombie-Treiber installieren. Benutzen Sie dazu Composer in der Shell.
$ composer install
In Punkt 3.) haben sie angegeben, dass die behat Binärdatei im Ordner bin liegen soll. Rufen Sie nun
$ bin/behat --init
auf der Kommandozeile auf und Behat richtet alles soweit ein. Im Ordner features können Sie dann Ihre Feature-Dateien anlegen.