从PHPUnit代码覆盖范围中排除基本目录

从PHPUnit代码覆盖范围中排除基本目录,php,unit-testing,phpunit,code-coverage,xdebug,Php,Unit Testing,Phpunit,Code Coverage,Xdebug,如何从PHPUnit的代码覆盖范围中排除基本目录 这是我的phpunit.xml <?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="include.php" stopOnError="false" stopOnFailure="false" stopOnIncomplete="false" stopOnSkipped="false">

如何从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>

如何使代码覆盖率输出中只包含
…\MyProject\*

您的答案并没有真正描述您的项目布局,但我假设您正在寻找的是:

这允许您指定PHPUnit在生成代码覆盖率时关心的文件白名单

不在白名单上的所有内容都不会显示在报告中

为此,请在顶层添加以下内容:

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

…我的项目/

如果我不清楚,很抱歉。我不想排除任何东西。我只想从代码覆盖率报告中删除基本目录。例如,现在如果我运行我的测试,打开CC报告,我必须点击至少5个链接才能找到任何有意义的完整内容<代码>C:\->
工作
->
项目
->
网站
->
我的项目
->
课程
。我只想拥有顶级的
MyProject
,这样我就可以点击
MyProject
->
classes
。据我所知,这个
问题应该可以帮你解决。可能是windows上的Paths出现问题或其他奇怪的问题,但通常告诉phpunit“这是覆盖范围的根文件夹”是这样做的。您解决过这个问题吗?我也想知道怎么做,但写答案的人不幸误解了你的问题。@Julian是的,但那是很久以前的事了,所以我得把它挖出来。
<filter>
  <whitelist processUncoveredFilesFromWhitelist="true">
    <directory suffix=".php">.../MyProject/</directory>
  </whitelist>
</filter>