gpt4 book ai didi

PHPUnit - 三叶草覆盖上的 PHP_Token_Stream 错误

转载 作者:搜寻专家 更新时间:2023-10-31 21:17:36 24 4
gpt4 key购买 nike

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

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

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

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

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

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

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

最佳答案

我们使用 1GB 运行大多数项目的单元测试,但我们不得不增加到 2GB 以允许代码覆盖。尝试增加 memory limit for PHP使用

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

关于PHPUnit - 三叶草覆盖上的 PHP_Token_Stream 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5304500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com