Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

De:Acceptance testing

From TYPO3Wiki
Jump to: navigation, search

Der Eintrag wurde zwischen Updates und Installationen vom Englischen übersetzt. Wenn jmd. Rechtschreibfehler etc. findet, bitte korrigieren :)

Acceptance Testing seit TYPO3 v8

Übersetzung vom Englischen Beitrag.

In der ersten TYPO3 8 Version wurden Acceptance Tests auf Basis von Codeception integriert. Diese werden mit selenium und einem Browser wie z.B. Firefox ausgeführt.

Dafür müssen die TYPO3 Source Dateien geholt, die Composer Abhängigkeiten installiert und der Selenium Server sowie der PHP HTTP Server gestartet werden:

shell script:
# Holt sich die neuste CMS Version (Achtung: auch *-dev-Versionen)
git clone git://git.typo3.org/Packages/TYPO3.CMS.git
cd TYPO3.CMS/
composer install
mkdir -p typo3temp/var/tests 
./bin/selenium-server-standalone >/dev/null 2>&1 &
php -S 0.0.0.0:8000 >/dev/null 2>&1 &
sleep 3;

Hiermit wird der Selenium Server gestartet und in den Hintergrund gelagert. Er muss nur einmal gestartet werden!

Hinweis: Wenn das nicht erfolgreich ist muss die neueste Java-JDK-Version heruntergeladen und installiert werden. Sie wird von Oracle bereitgestellt: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Acceptance Tests benötigen eine TYPO3 Installation. Deswegen wird eine MySQL/MariaDB Datenbank mit entsprechenden Rechten benötigt. Folgendes Beispielskript hilft beim Setzen der entsprechenden Rechte.

shell script:
# Texte sind entsprechend anzupassen
GRANT ALL ON `t3_core_test\_%`.* TO '<user>'@'localhost' IDENTIFIED BY '<password>';

Mit dem folgenden Befehl werden alle Acceptance Tests im Firefox (aktuell der einzig unterstützte Browser) ausgeführt, welche mit dem Core ausgeliefert wurden.

shell script:
typo3DatabaseName='t3_core_test' typo3DatabaseHost='localhost' typo3DatabaseUsername='<user>' typo3DatabasePassword='<password>' ./bin/codecept run Acceptance -c typo3/sysext/core/Build/AcceptanceTests.yml

notice - Note

Bei Verwendung von TYPO3 v8.6 oder neuer:

Der Ort der Konfigurationsdatei typo3/sysext/core/Build/AcceptanceTests.yml hat sich geändert und befindet sich nun hier:

components/testing_framework/core/Build/AcceptanceTests.yml
siehe auch: 79025: TYPO3 Core - Extract testing framework for TYPO3 [Resolved; assigned to Susanne Moog]

Wenn nur eine Gruppe von Tests oder nur ein einzelner Test ausgeführt werden soll, kann das mit dem hinzufügen durch den "Testnamen" oder dem "Dateinamen" des Tests erreicht werden.

shell script:
# Führe alle Tests aus die in "Backend/Extensionmanager" definiert sind.
typo3DatabaseName='t3_core_test' typo3DatabaseHost='localhost' typo3DatabaseUsername='<user>' typo3DatabasePassword='<password>' ./bin/codecept run Acceptance -c typo3/sysext/core/Build/AcceptanceTests.yml Backend/Extensionmanager

# Führe lediglich den Test "checkIfUploadFormAppears" aus der Gruppe "Backend/Extensionmanager" aus.
typo3DatabaseName='t3_core_test' typo3DatabaseHost='localhost' typo3DatabaseUsername='<user>' typo3DatabasePassword='<password>' ./bin/codecept run Acceptance -c typo3/sysext/core/Build/AcceptanceTests.yml Backend/Extensionmanager:checkIfUploadFormAppears

Die Test Suite ist so erstellt, dass diese keine lauffähige TYPO3 Instanz benötigen. Sie erzeugen innerhalb des Ordners /typo3temp/var/tests eine eigene TYPO3 Instanz sowie eine entsprechende LocalConfiguration-Datei mit DB-Credentials. Das hat den Hintergrund, dass die Tests einen "definierten Status" des Systems benötigen. Ebenso einen definierten Set von installierten Extensions in dieser TYPO3 Instanz. Aus diesem Grund werden die DB-Credentials benötigt. Mit Hilfe der Zugangsdaten wird eine komplett eigene separierte DB mit Fixture Datensätzen erstellt (z.B. be_users zum anmelden).

Windows Benutzer

Der Prozess unterscheidet sich bis auf wenige Zeilen nicht von dem Linux-Prozess. Folgende Zeilen sind anzupassen:

similar like the above, just instead of the last line:

shell script:
set typo3DatabaseName=yourDatabase  
set typo3DatabaseHost=yourHost
set typo3DatabaseUsername=yourUser
set typo3DatabasePassword=yourPassword
./bin/codecept run Acceptance -c typo3/sysext/core/Build/AcceptanceTests.yml Backend/Extensionmanager:checkIfUploadFormAppears

3rd party extensions

Die Acceptance Test Suite wurde bisher noch nicht vollständig für 3rd Party (nicht-core) Extensions implementiert. Langfristig wird es einen entsprechenden Support geben.