【问题标题】:Namespaced classes causing problems with coverage report generation命名空间类导致覆盖率报告生成问题
【发布时间】: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


【解决方案1】:

最终跟踪到此更改http://www.phing.info/trac/changeset/1123/trunk/classes/phing/tasks/ext/coverage/CoverageReportTransformer.php。编辑 phing/tasks/ext/coverage/CoverageReportTransformer.php 以恢复到$proc-&gt;setParameter('', 'output.dir', $dir-&gt;toString());,现在一切正常。不确定变更集指的是什么“efile”混乱,但在编辑后我没有任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2013-09-26
    • 2021-06-26
    相关资源
    最近更新 更多