我的PHPUnit设置和覆盖率报告工作正常,没有白名单过滤器。然而,一旦我添加一个,报告似乎只是部分生成,好像PHPUnit意外退出。我没有收到任何错误或警告。
我的configuratoon看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="./bootstrap.php"
colors="true">
<testsuites>
<testsuite name="...">
<testsuite name="...">
<directory>./path/to/suite</directory>
</testsuite>
<testsuite name="...">
<directory>./path/to/suite2</directory>
</testsuite>
<testsuite name="...">
<directory>./path/to/suite3</directory>
</testsuite>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory suffix=".php">../path/to/files</directory>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="log/" charset="UTF-8" yui="true" />
</logging>
</phpunit>
关于可能出现什么问题的任何想法?
答案 0 :(得分:1)
原来有一些脚本在我白名单的文件中暂停程序代码。
答案 1 :(得分:1)
很抱歉挖了一个旧的,但是我搜索了phpunit代码覆盖率不起作用而且这个出现了。
我让代码覆盖只是运行它的过程(认为xdebug用于它)并且暂时没问题。
然后,当我创建一个新测试时,它突然停止工作,运行的代码标记为未覆盖。
我用phpunit创建的测试类:phpunit-skelgen --test
那个创建覆盖注释,如:@covers MyClass :: someMethod
删除它们解决了它,xdebug现在再次使用,突然有100%的覆盖率。
关于报道的一点评论;只需调用一次方法就可以在报告中覆盖它,但大部分都不能被视为涵盖范围。使用空值和无效值调用它会覆盖它。