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% 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.)
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:
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.
Tags und Links unit-testing php phpunit