2012-12-13 14 views
7

Jak wykluczyć podstawowe katalogi z kodu PHPUnit?Wyklucz katalog podstawowy z kodu PHPUnit Coverage

To mój phpunit.xml

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit bootstrap="include.php" 
     stopOnError="false" 
     stopOnFailure="false" 
     stopOnIncomplete="false" 
     stopOnSkipped="false"> 
    <testsuite name="MyProject"> 
     <directory>classes/*</directory> 
    </testsuite> 
    <logging> 
     <log type="coverage-html" target="../reports/coverage" charset="UTF-8" yui="true" highlight="false" lowUpperBound="35" highLowerBound="70"/> 
     <log type="coverage-xml" target="../reports/coverage.xml"/> 
     <log type="test-xml" target="../reports/logfile.xml" logIncompleteSkipped="false"/> 
     <log type="testdox-html" target="../reports/testdox.html"/> 
     <log type="testdox-text" target="../reports/testdox.txt"/> 
    </logging> 
</phpunit> 

Gdy wyjście zawiera wszystkie katalogi zasady jak:

c:\work\some\path\MyProject 

Jak mogę to zrobić tylko obejmują ...\MyProject\* na wyjściu Code Coverage?

+2

Czy kiedykolwiek rozwiązać ten problem? Chciałbym wiedzieć, jak to zrobić, ale osoba, która napisała odpowiedź, niestety źle zrozumiała twoje pytanie. – Julian

+1

@Julian tak, zrobiłem, ale było to jakiś czas temu, więc będę musiał to wykopać. – Petah

+2

Proszę! Dzięki! – Julian

Odpowiedz

5

Twoje odpowiedzi nie naprawdę opisać swój układ projektu, ale zakładam, że to, czego szukasz jest:

Including and Excluding Files for Code Coverage

To pozwala określić białą listę plików, które będą dbać o PHPUnit podczas generowania kodu pokrycie.

Wszystko, czego nie ma na tej białej liście, nie będzie wyświetlane w raporcie.

Aby to zrobić dodaj następującą gdzieś najwyższego poziomu:

<filter> 
    <whitelist processUncoveredFilesFromWhitelist="true"> 
    <directory suffix=".php">.../MyProject/</directory> 
    </whitelist> 
</filter> 
+0

Przepraszam, jeśli nie byłam jasna. Nie chcę niczego wykluczać. Chcę tylko usunąć katalog podstawowy z raportu pokrycia kodu. Tak więc na przykład teraz, gdy przeprowadzę swoje testy i otworzę raport CC, muszę kliknąć co najmniej 5 linków, aby uzyskać pełny sens. 'C: \' -> 'work' ->' projects' -> 'websites' ->' MyProject' -> 'classes'. Po prostu chcę mieć na najwyższym poziomie 'MyProject', więc mogę kliknąć' MyProject' -> 'classes'. – Petah

+0

"Przedmiotowe pytanie" powinno zrobić to dla ciebie, o ile wiem. Może to być problem z pathes w oknach lub czymś dziwnym, ale ogólnie mówiąc, phpunit "to jest katalog główny dla zasięgu" robi się w ten sposób. – edorian

+0

Ta odpowiedź zadziałała. –