如何从PHPUnit的代码覆盖范围中排除基目录?
这是我的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>
输出时,它包括所有基本目录,如:
c:\work\some\path\MyProject
如何在代码覆盖率输出中仅包含...\MyProject\*
?
答案 0 :(得分:5)
您的答案并没有真正描述您的项目布局,但我认为您正在寻找的是:
Including and Excluding Files for Code Coverage
这允许您指定PHPUnit在生成代码覆盖率时将关心的文件的白名单。
该白名单上没有的所有内容都不会显示在报告中。
为此,请在顶级位置添加以下内容:
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">.../MyProject/</directory>
</whitelist>
</filter>