PHPUnit代码覆盖率报告SOME文件,因为它们中没有代码(因此报告0/0行100%覆盖率)

时间:2012-06-17 18:58:51

标签: php phpunit code-coverage

我一直在寻找解决方案一段时间但找不到任何解决方案。

我在我的PHP应用程序上做了一些代码覆盖,除了PHPUnit似乎认为是空的几个文件(我的意思是,因为没有代码行),即使它们不是空的(每个一个包含数百行。)

我可以看到类及其方法,但每个函数被认为有0行(它表示0/0 100%覆盖率)。如果我尝试单击函数或类名,我通常会看到代码,但不会查看这些有问题的类。

我想张贴一张图片,但由于我是新用户,我很遗憾不能。

任何人都有同样的问题吗?

编辑:这是一个有问题的示例类:

1 http://img43.imageshack.us/img43/9127/screenshot1aig.png

找到解决方案后编辑(2):我删除了源代码,因为它不是问题。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法的人。我按照cweiske(我之前应该做的)提出并缩小,直到phpunit代码覆盖率起作用。但令人惊讶的是,即使我只留下一种方法,它也从未奏效。

我创建了另一个文件“Foo.php”,其中包含与PlayersManager相同的内容(几乎为空,只有一个函数)。

完美地覆盖了Foo.php!我将PlayersManager中的整个文件复制到了Foo.php中,运行了代码覆盖率并且工作正常。

为了证明我并不疯狂,我在PlayersManager中重新编写代码并重试:PlayersManager覆盖率仍为100%,代码为0行。

我删除了PlayersManager.php并重命名为Foo.php PlayersManager.php,重新覆盖了覆盖范围并且有效!

phpunit是否保留了一些缓存或类似内容!?

无论如何,这个解决方法将来会用于其他有问题的文件,但只是想知道!

感谢您的帮助!