首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHPUnit的0%代码覆盖率

使用PHPUnit的0%代码覆盖率
EN

Stack Overflow用户
提问于 2012-08-07 09:09:37
回答 1查看 1.2K关注 0票数 1

我正在使用PHPUnit运行模块测试,并希望获得测试的覆盖率报告。我曾经成功地做过这件事,但不知何故我无法让它再次发挥作用,我也不知道为什么它不再起作用了。唯一的区别是,我现在运行的是PHP5.4,而不是5.3。

测试使用exec命令在Ant构建文件中运行:

代码语言:javascript
复制
<exec dir="${basedir}" executable="phpunit.bat" failonerror="${test.failonerror}">
    <arg value="--log-junit" />
    <arg value="${test.phpunit.log}" />
    <arg value="--coverage-clover" />
    <arg value="${test.phpunit.coverage.log}" />
    <arg value="--bootstrap" />
    <arg value="${test.phpunit.bootstrap}" />
    <arg value="${test.phpunit.testdir}" />
</exec>

下面是我运行测试时Ant日志的一个片段:

代码语言:javascript
复制
module-test-php:
     [exec] PHPUnit 3.6.12 by Sebastian Bergmann.
     [exec] .............
     [exec] Time: 5 seconds, Memory: 8.75Mb
     [exec] OK (13 tests, 113 assertions)
     [exec] Generating code coverage report in Clover XML format ... done

从日志中可以看出,覆盖率报告应该可以工作,但是当我打开报告时,我得到的只是

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1344329670">
  <project timestamp="1344329670">
    <metrics files="0" loc="0" ncloc="0" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
  </project>
</coverage>

有什么设置我在这里丢失了,或者为什么我得到零覆盖?

更新

我做了更多的测试,发现了与phar档案有关的错误。这一问题已被报道。

https://github.com/sebastianbergmann/php-code-coverage/issues/107

EN

回答 1

Stack Overflow用户

发布于 2012-08-08 12:12:40

代码覆盖是关于源代码表单的。源代码表单是您更改的软件的变体。

phar文件是一个归档文件。与由Zend En编码器或Ioncube En编码器甚至APC编码的PHP代码类似,代码覆盖率不能用于这些文件,更重要的是:代码覆盖率作为一个度量标准,对这些文件没有任何意义。

所以你可能只是好奇,但是你会想两次,想想为什么会这样。尝试用你自己的话解释为什么报告phar文件的代码覆盖是没有用的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11842667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档