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

Benutzer-Avatar
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

1176490cookie-checkPHPUnit – Ausführen einer bestimmten Testsuite über den Befehlszeilentest-Runner [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy