Jenkins 覆盖范围中不包括命名空间代码
下面是phpunit.xml:Jenkins 覆盖范围中不包括命名空间代码,jenkins,namespaces,phpunit,code-coverage,clover,Jenkins,Namespaces,Phpunit,Code Coverage,Clover,下面是phpunit.xml: <phpunit bootstrap="bootstrap.php" colors="false" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" stopOnFailure="false" s
<phpunit
bootstrap="bootstrap.php"
colors="false"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
stopOnFailure="false"
stopOnError="false"
stopOnIncomplete="false"
stopOnSkipped="false">
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">../modules</directory>
<directory suffix=".php">../models</directory>
<directory suffix=".php">../lib</directory>
<directory suffix=".php">../components</directory>
<exclude>
<directory suffix=".php">../modules/*/views</directory>
<directory suffix=".php">../modules/*/widgets</directory>
<directory suffix=".php">../modules/*/controllers</directory>
<directory suffix=".php">../modules/ClaimProfile</directory>
<directory suffix=".php">../modules/SocialNetworks</directory>
</exclude>
</whitelist>
</filter>
<logging>
<log type="coverage-clover" target="build/logs/clover.xml" />
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="true" />
</logging>
</phpunit>
../modules
../模型
../lib
../components
../modules/*/views
../modules/*/widgets
../modules/*/控制器
../modules/clainprofile
../modules/SocialNetworks
结果
clover.xml
确实包含了名称空间类的信息,除了Jenkin的PHP clover插件外,其他所有插件都报告忽略了名称空间中的代码。(即,报告中未显示定义名称空间的源文件,但列表中会显示代码完全属于全局名称空间的文件) 最终也遇到了同样的问题。
原来Jenkins Clover PHP插件在这里包含一个错误:
可以很容易地看到,Clover Coverage解析器解析Coverage/project、Coverage/project/file和Coverage/project/file/class对象。它忽略了覆盖范围/项目/包(以及其中的所有内容)
插件维护人员可以很容易地解决这个问题。我不知道它是否是不同的版本,但我的xml.dist文件的“addUncoveredFilesFromWhitelist”而不是“processUncoveredFilesFromWhitelist”这个问题只继承了前面一个问题的答案,因为OP实际上是根据自己的理解来做的。到现在为止,直到进一步呈现相反的情况,我只是假设这个“代码转储”是错误的,并且没有得到很好的理解(另请参见前面的评论),因此我投票以(自我)重复的方式结束