我刚刚创建了一个新的zend框架应用程序来试用单元测试。
我已经按照this教程,一切似乎都正常用于测试。覆盖率报告的显示存在问题。它显示正确的信息,但报告从我的硬盘驱动器的根目录开始,我需要遍历树到我的项目文件夹以查看有用的信息。
这意味着每次运行测试时,我都需要单击5个文件夹以获取实际报告。
如何在项目文件夹中启动报告?这是我的phpunit配置文件:
<phpunit bootstrap="./bootstrap.php">
<testsuite name="Application Test Suite">
<directory>./application</directory>
</testsuite>
<testsuite name="Library Test Suite">
<directory>./library</directory>
</testsuite>
<filter>
<whitelist>
<directory>../../library/Zend</directory>
<exclude>
<directory suffix=".phtml">../application/</directory>
<file>../application/Bootstrap.php</file>
<file>../application/controllers/ErrorController.php</file>
</exclude>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="./log/report" charset="UTF-8" yui="true"
hightlight="true" lowupperbound="50" highlowerbound="80">
<log type="testdox" target="./log/testdox.html">
</log>
</log>
</logging>
</phpunit>
答案 0 :(得分:1)
我解决了问题......
我需要在白名单中明确指定我的应用程序文件夹。如果它为空,则代码覆盖率报告仅从“c:”开始,并尝试查找每个“.php”文件。
在白名单部分添加该行后:
<directory>../application/</directory>
它按预期工作。
由于我的测试文件夹中没有任何库测试,包括Zend库文件夹可能没有任何效果,报告必须将白名单视为空。因为没有黑名单,所以它只是从根本开始。
答案 1 :(得分:0)
代码覆盖率从报告中包含的所有文件的最常见路径开始。因此,如果您的Web根位于/ var / www中,并且您在/ usr / local / zend /中包含库,则最常见的路径将是根路径。
解决方案是排除库路径,因为通常您不想测量外部库的代码覆盖率。