我目前正在将 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/
致命错误:允许的内存大小为 536870912 字节已用尽
在提交更改并让 Hudson 处理其余部分之前,我使用 Windows 7 进行开发。在 W7 中运行相同的命令时,内存使用量从未超过 340MB。