【发布时间】:2011-12-11 00:40:08
【问题描述】:
命名空间类似乎会为循环抛出 Phing 代码覆盖率报告生成。我在项目的根目录中获得了一个名为 .%5Creports%5Ccoverage 的文件夹,其中包含任何命名空间的类的 .html 文件。所有其他类在${reports.dir}/coverage 定义的正确目录中生成文件。
在浏览器中查看报告时,指向类文件的链接指向它们应该在的位置,但我当然会得到 404,因为文件本身被放置在错误的位置。这是一个错误,还是我做错了什么?
以下是我每个文件中的相关行:
build.properties:
base.dir = .
tests.dir = ${base.dir}/tests
reports.dir = ${base.dir}/reports
build.xml:
<!-- Run code coverage for PHP files -->
<target name="coverage">
<coverage-setup database="${reports.dir}/coverage/coverage.db">
<fileset refid="php-files" />
</coverage-setup>
<phpunit bootstrap="${tests.dir}/library/bootstrap.php" codecoverage="true">
<batchtest>
<fileset refid="tests" />
</batchtest>
</phpunit>
<coverage-report outfile="${reports.dir}/coverage/coverage.xml">
<report todir="${reports.dir}/coverage" />
</coverage-report>
</target>
<!-- PHP files -->
<fileset dir="${application.dir}" id="php-files">
<include name="**/*.php" />
</fileset>
<!-- Test files -->
<fileset dir="${tests.dir}/application" id="tests">
<include name="**/*Test.php" />
</fileset>
命名空间类示例:
<?php
namespace GDI\WebService;
class PredictionRequest
{
public $prefix;
}
【问题讨论】:
-
只是为了确保:您是在谈论 phing 任务正在生成的代码覆盖率报告,而不是 phpunit 可以为您创建的代码覆盖率报告?
-
@edorian,我指的是覆盖报告任务生成的报告。
-
好的,只是确保它不是关于 phpunit-code-coverage 生成的那个,而是为 phing 任务编写的那个,所以我没有花时间尝试重现 phpunit 的问题代码库:)
-
@edorian 感谢您的浏览。我将其缩小到应该解决另一个问题的 Phing 代码库的更改。请参阅下面的答案。
标签: php phpunit code-coverage xdebug phing