Akzeptanztests

From Cloudrexx Development Wiki
Jump to: navigation, search

Todo nach Prioritäten

Diskussion

  • JavaScript-Fehler Reporting / TD

Integration in Workbench

Damit Contrexx Entwickler sich nicht selber direkt mit dem Kommandozeilen Tool von Behat auseinandersetzen müssen, könnte man dies direkt in das Kommandozeilentool der Workbench integrieren.

Mögliche Kommandos:
initTests COMPONENT-NAME: Alias für "behat --init" ## wird ausgeführt, wenn noch keine Szenarios geschrieben sind.
generateTestCode COMPONENT-NAME: Alias für "behat" ## wird ausgeführt, wenn die Szenarios geschrieben sind, aber noch kein PHP-Code vorhanden ist.
runTests COMPONENT-NAME (optional): Alias für "behat" ## wird ausgeführt um die Tests laufen zu lassen, hier muss vorher auch noch Selenium gestartet werden, sofern Java installiert ist

Tests ablegen

1. Tests an einem zentralen Ort ablegen /testing/COMPONENTNAME/...
2. Tests jeweils bei der Komponente selber /modules/COMPONENTNAME/testing/...

Auswertung

1. Ausgabe in Datei ablegen und nur die fehlgeschlagenen: "behat --no-paths --out DATEI --format failed"
2. Eigene Exception Klasse schreiben um auch noch PHP-Sessions zu loggen

Helperklasse

Das Testen von Backend-Aktivitäten benötigt zum Beispiel immer ein Login ins Backend. Damit dies nicht immer kopiert werden muss, wäre so eine HelperKlasse, die zum Beispiel die Selenium-Session einloggt, ausloggt, das Backend aufruft etc. nützlich. Das wäre dann auch ein Bestandteil der Workbench.

Lizenz von Behat

Copyright (c) 2011-2013 Konstantin Kudryashov <ever.zet@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Software

Behat (http://behat.org/)
+ Erweiterung Mink (http://mink.behat.org/)
+ Mink Selenium2 Treiber

Installation auf Windows

Voraussetzung

  • Apache (XAMPP)

Vorgehen

Windows Systemeigenschaften.jpg

  • Danach öffnet man die Umgebungsvariabeln.

Windows Umgebungsvariabeln.jpg

  • Bei Paths muss der Pfad: C:\xampp\php hinzugefügt werden, da sich dort die Datei php.exe befindet

Windows Pfad Umgebungsvariabeln.jpg

Diese Änderungen benötigen einen Neustart von Windows.

Installation auf Linux (getestet auf Ubuntu)

Vorgehen

  • Java installieren mittels „sudo apt-get install default-jre“
  • Apache installieren „sudo apt-get install apache2“
  • Composer installieren https://getcomposer.org
  • Im trunk in das Verzeichnis /lib/behat/ wechseln.
  • "composer install" im Verzeichnis ausführen.
  • Die neue Datei bin/behat im PATH verlinken. (Es ist auch möglich das Programm über einen relativen/absoluten Pfad zu starten, dies ist jedoch umständlicher als einfach behat einzugeben.)
  • Mit dem Befehl "java -jar selenium-server-standalone-2.42.2.jar" den Selenium Server starten. (Getestet mit "1.7.0_60")
  • Nun ins Verzeichnis /core/Core/Testing wechseln und behat ausführen