gpt4 book ai didi

PHPUnit代码覆盖生成导致内存耗尽

转载 作者:IT王子 更新时间:2023-10-28 23:54:04 24 4
gpt4 key购买 nike

我目前正在结合使用 Zend Framework 和 PHPUnit 对应用程序进行单元测试。当 Hudson 执行 PHPUnit shell 命令时,在代码覆盖率生成期间的某个时间达到最大 PHP 内存限制。我目前总共有 41 个测试和 334 个断言。

通过使用 -d memory_limit=768M 开关将 memory_limit 设置提高到 768M,我成功地消除了这个错误;但是,我担心随着测试/断言总数的增加,复杂性也会增加,我将没有足够的内存来生成用于代码覆盖率统计的 HTML。

操作系统: CentOS 5.5
控制面板: WHM/cPanel
CI 服务器:Hudson

/usr/local/bin/phpunit 
--verbose
-d memory_limit=512M
--log-junit ../../build/logs/phpunit.xml
--coverage-clover ../../build/logs/coverage/clover.xml
--coverage-html ../../build/logs/coverage-html/

Fatal error: Allowed memory size of 536870912 bytes exhausted

在提交更改并让 Hudson 处理其余部分之前,我使用 Windows 7 进行开发。在 W7 中运行相同的命令时,内存使用量从未超过 340MB。

最佳答案

通过减少代码覆盖范围内包含的文件数量,以及增加 PHP 中的整体内存限制,我基本上可以消除此错误。整个 Zend Framework 都包含在非常大的代码覆盖范围内。

关于PHPUnit代码覆盖生成导致内存耗尽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3895038/

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