Unit testing 从根文件夹开始创建代码覆盖率报告
我刚刚创建了一个新的zend framework应用程序来尝试单元测试 我已经按照教程进行了学习,似乎所有的测试工作都正常。覆盖率报告的显示有问题。它显示正确的信息,但报告从硬盘的根开始,我需要遍历树到项目文件夹以查看有用的信息 这意味着每次运行测试时,我都需要单击5个文件夹以获取实际的报告 如何在项目文件夹中启动报告?这是我的phpunit配置文件:Unit testing 从根文件夹开始创建代码覆盖率报告,unit-testing,zend-framework,phpunit,Unit Testing,Zend Framework,Phpunit,我刚刚创建了一个新的zend framework应用程序来尝试单元测试 我已经按照教程进行了学习,似乎所有的测试工作都正常。覆盖率报告的显示有问题。它显示正确的信息,但报告从硬盘的根开始,我需要遍历树到项目文件夹以查看有用的信息 这意味着每次运行测试时,我都需要单击5个文件夹以获取实际的报告 如何在项目文件夹中启动报告?这是我的phpunit配置文件: <phpunit bootstrap="./bootstrap.php"> <testsuite name="Appl
<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>
/申请
/图书馆
../../library/Zend
../application/
../application/Bootstrap.php
../application/controllers/ErrorController.php
对于报告中包含的所有文件,代码覆盖范围从最常见的路径开始。因此,如果您的web根位于/var/www中,并且在/usr/local/zend/中包含库,那么最常见的路径将是根路径
解决方案是排除库路径,因为通常您不想测量外部库的代码覆盖率。我解决了这个问题
我需要在白名单中明确指定我的应用程序文件夹。如果为空,则代码覆盖率报告仅从“c:”开始,并尝试查找每个“.php”文件
在白名单部分添加行后:
<directory>../application/</directory>
。/应用程序/
它按预期工作
因为我的测试文件夹中没有任何库测试,包括Zend library文件夹可能没有任何效果,并且报告一定认为白名单是空的。因为没有黑名单,它只是从根开始