Eine einzelne Testsuite wird standardmäßig in PHPUnit ausgeführt

8

Meine PHPUnit-Konfigurationsdatei hat zwei Test-Suites, unit und system . Wenn ich den Test Runner vendor/bin/phpunit starte, werden alle Tests in beiden Suites ausgeführt. Ich kann eine einzelne Suite mit dem testsuite -Flag: vendor/bin/phpunit --testsuite unit ausrichten, aber ich muss den Test-Runner so konfigurieren, dass nur die unit -Suite standardmäßig ausgeführt wird und integration nur ausgeführt wird, wenn er speziell mit dem Testsuite-Flag aufgerufen wird .

Meine Konfiguration:

%Vor%     
jdp 14.06.2016, 19:05
quelle

2 Antworten

1

Es scheint keine Möglichkeit zu bestehen, mehrere Testsuiten aus einer phpunit.xml-Datei aufzulisten, aber nur eine auszuführen. Wenn Sie jedoch die Kontrolle über eine vollständigere Integrations- und Testumgebung haben, in der Sie Dinge genauer konfigurieren können, können Sie mehr als eine phpunit-Konfigurationsdatei haben und eine (oder mehrere) Umgebung mit komplexeren Umgebungen einrichten, um die Befehlszeile festzulegen Parameter --configuration <file> Option mit einer Konfiguration, die mehr leistet. Dies stellt zumindest sicher, dass die einfachste Konfiguration auf einfachste Weise ausgeführt wird.

Die beiden Dateien können so aufgerufen werden, wie Sie möchten, wenn Sie sie speziell ausführen, aber es lohnt sich, daran zu denken, dass die schnell auszuführende Datei als Standard phpunit.xml und die spezifisch benannte und erweiterte Datei als% co_de heißt %. Die .dist-Datei wird automatisch standardmäßig ausgeführt, wenn die ursprüngliche einfache XML-Datei nicht vorhanden ist . Eine andere Option ist, die phpunit.xml.dist-Datei in einem Code-Repository zu haben, aber dann in eine phpunit.xml.dist -Datei mit weniger 'testsuite' zu kopieren, die selbst nicht in die Versionskontrolle eingecheckt ist und nur lokal gespeichert wird. (Es wäre wahrscheinlich auch als ignoriert in einer .gitignore-Datei oder ähnlich markiert.)

    
Alister Bulman 14.06.2016, 20:44
quelle
5

Seit PHPUnit 6.1.0 , es gibt jetzt Unterstützung für ein defaultTestSuite -Attribut.

Siehe Ссылка

Dies kann unter den anderen phpunit Attributen wie folgt verwendet werden:

%Vor%

Sie können nun phpunit anstelle von phpunit --testusite unit ausführen.

Der Name der Testsuite kann sehr wohl die Groß- / Kleinschreibung beachten. Achten Sie also darauf.

    
GaryJ 01.08.2017 19:21
quelle

Tags und Links