2016-07-08 8 views
1

Ich habe mehrere Testsuites für ein Projekt, die ich normalerweise ausführen würde, indem ich phpunit ohne Argumente ausführen würde. Ich mache es so, dass ich einen einzigen Bericht bekomme, der die gesamte Codeabdeckung für alle Tests zeigt.PHPUnit: Code Coverage aus mehreren Ausführungen kombinieren

Das Problem, das ich angetroffen habe, ist, dass ich jetzt ein Batch-Skript am Anfang einer der Testsuiten ausführen möchte, und die einzige Möglichkeit, dies zu tun, ist, phpunit mehrmals auszuführen (aus einem Shell-Skript), und rufen Sie mein Batch-Skript an der entsprechenden Stelle auf. Dies würde bedeuten, dass der resultierende Bericht nur die letzte Testsuite abdecken würde, was ich nicht möchte.

Wie kann ich ein Batch-Skript in die Ausführung einfügen und trotzdem einen Bericht mit einem Code-Coverage generieren?

Ich könnte setUpBeforeClass() und ein statisches Flag verwenden, um zu überprüfen, ob das Batch-Skript zuvor ausgeführt wurde, aber ich würde es vorziehen, dies zu vermeiden, wenn ich könnte.

Antwort

0

Ich schrieb das Batch-Skript in PHP und mit include_once, um es von setUpBeforeClass() aufrufen. Das hat gut funktioniert.