PHPUnit – Ausführen einer bestimmten Testsuite über den Befehlszeilentest-Runner [duplicate]
Lesezeit: 2 Minuten
Ist es möglich, aus einer Konfigurationsdatei über den Befehlszeilen-Test-Runner anzugeben, welche Testsuite ausgeführt werden soll? Zum Beispiel, wenn ich die folgende XML-Konfiguration habe:
<phpunit ...>
<testsuites>
<testsuite name="My Test Suite 1">
<directory>./MyTestSuite1/</directory>
</testsuite>
<testsuite name="My Test Suite 2">
<directory>./MyTestSuite2/</directory>
</testsuite>
</testsuites>
...
</phpunit>
Kann ich nur “My Test Suite 1” ausführen lassen?
Ich weiß, dass Sie einzelne Tests von Testcase ausführen können. Bei den Suiten bin ich mir jedoch nicht sicher. Versuchen Sie, so etwas zu tun phpunit Suitename Path/To/AllSuites.php oder andersherum. Überprüfen Sie auch phpunit --help und phpunit.de/manual/3.4/de/textui.html
– Gordon
2. Dezember 2010 um 8:25 Uhr
Es ist phpunit --testsuite "My Test Suite 1"
Das Flag –testsuite existiert erst ab 3.7
– moranjk
30. Oktober 2012 um 19:17 Uhr
Beachten Sie, dass es reservierte Schlüsselwörter gibt, z. B. schlägt die Verwendung von „Verzeichnis“ als Name der Testsuite fehl. PHP Fatal error: Uncaught PHPUnit\Framework\Exception: Class "Directory" does not extend PHPUnit\Framework\TestCase.
– Spule
18. Oktober 2019 um 9:02 Uhr
El Yobo
Sie können das Tag @group in der Klassendokumentation verwenden, um die Gruppe anzugeben, und dann mit –group Tests nur für diese Gruppe ausführen
Sie können –filter verwenden, um nur Tests auszuführen, die mit einer bestimmten Regex übereinstimmen
Aktualisierung 2013
Wie in der Antwort von @havg unten erwähnt, ist es jetzt möglich, einzelne Testsuiten mit auszuführen phpunit --testsuite
Dies funktioniert gut und ist wahrscheinlich die beste Wahl, wenn Testsuiten nicht einzeln ausgeführt werden können. Vielen Dank!
– rr.
2. Dezember 2010 um 16:42 Uhr
Haben Sie versucht, beim Ausführen von phpunit von der Befehlszeile aus einen Pfad als Parameter hinzuzufügen?
Also sowas wie
phpUnit ./MyTestSuite1/
?
Dies funktioniert, es sei denn, eine Testsuite erstreckt sich über mehrere Verzeichnisse, die nicht denselben Stamm haben. Vielen Dank.
– rr.
2. Dezember 2010 um 16:40 Uhr
11764900cookie-checkPHPUnit – Ausführen einer bestimmten Testsuite über den Befehlszeilentest-Runner [duplicate]yes
Ich weiß, dass Sie einzelne Tests von Testcase ausführen können. Bei den Suiten bin ich mir jedoch nicht sicher. Versuchen Sie, so etwas zu tun
phpunit Suitename Path/To/AllSuites.php
oder andersherum. Überprüfen Sie auchphpunit --help
und phpunit.de/manual/3.4/de/textui.html– Gordon
2. Dezember 2010 um 8:25 Uhr