Ist die Xdebug-Erweiterung für PHP installiert, so kann PHPUnit bei der Ausführung der Testfälle darüber Buch führen, welche Zeilen des zu testenden Codes für die einzelnen Testfälle ausgeführt (und somit von einem Test "abgedeckt") werden. Diese Information gibt Aufschluss darüber, ob der gesamte Produktionscode von den geschriebenen Testfällen getestet wird. Ist man sich sicher, dass die Testsuite vollständig ist, und es werden dennoch nicht alle Zeilen des Produktionscodes bei der Ausführung der Testfälle erreicht, so sind diese mit einiger Wahrscheinlichkeit redundant und können möglicherweise entfernt werden.
Abbildung 4.4
zeigt den Aufruf des PHPUnit-Kommandozeilenwerkzeugs mit dem
Parameter --coverage-html für die Erstellung einer
Code-Coverage-Analyse im HTML-Format. Dieser ist zu entnehmen, dass
die Methoden getBalance(), setBalance()
und withdrawMoney() aufgerufen werden, die Methode
depositMoney($amount) aber noch von keinem Testfall
abgedeckt ist.
Abbildung 4.4. Code-Coverage-Analyse für die Klasse BankAccount
phpunit --coverage-html BankAccount.html BankAccountTest
PHPUnit 2.2.0 by Sebastian Bergmann.
..
Time: 0.002204
OK (2 tests)