【问题标题】:PHPUnit - PHP_Token_Stream error on clover-coveragePHPUnit - 三叶草覆盖率上的 PHP_Token_Stream 错误
【发布时间】:2011-07-15 08:09:18
【问题描述】:

我正在使用 PHPUnit 3.5.10,但在尝试为 clover-coverage 生成 xml 报告时遇到问题。

使用coverage-html 导出效果很好。此外,如果我从覆盖率报告中排除足够多的文件,它将生成 clover.xml 文件。但是,当我运行我的测试套件时,我收到消息“将代码覆盖率数据写入 XML 文件,这可能需要一点时间。”,然后执行失败。每 25 次中的 1 次,我都会收到一条“Segmentation Fault”消息。

最初,我将此问题追溯到 PHP_CodeCoverage::getSummary() 函数,但是当我使用白名单限制代码覆盖率时,程序克服了此错误。

接下来,PHP_Token_Stream::scan() 函数中的代码覆盖率报告似乎超时。实际上,在累计处理了大约 31k 个令牌后,该方法会简单地停止而没有错误消息。

我注意到与我放置的跟踪代码数量以及该方法将处理的令牌数量相关。所以看起来程序可能内存不足。

我创建了一个测试来加载我的一堆代码文件,并通过一个接一个地加载文件来测试 PHP_Token_Stream。这似乎按预期运行,并且不会复制出现在测试套件上下文中的错误。

关于如何输出我的三叶草覆盖率报告有什么建议吗?

【问题讨论】:

标签: php unit-testing phpunit code-coverage clover


【解决方案1】:

我们使用 1GB 运行大多数项目的单元测试,但我们必须将其提高到 2GB 以实现代码覆盖。尝试增加memory limit for PHP 使用

ini_set('memory_limit', '1024M');

【讨论】:

  • 谢谢..正是需要的。
猜你喜欢
  • 1970-01-01
  • 2016-01-28
  • 1970-01-01
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 2012-05-04
相关资源
最近更新 更多