我有一台32GB的机器,运行超过2000个测试用例,使用phpdbg进行代码覆盖。
Norm().plot(10000)
运行一段时间后,即使phpdbg -qrr -d memory_limit=-1./vendor/phpunit/phpunit/phpunit --debug --verbose
为-1
map()失败:[12]无法分配内存 [PHP致命错误:内存不足(分配5830606848)(试图分配65536字节)]
答案 0 :(得分:0)
你可能会泄漏内存并且没有清理它。有些插件会报告每个测试使用多少内存,而其他插件会尝试自动清理 - 尽管有了对PHPunit v6 +的更新,有些可能需要注意使用命名空间测试用例类。
尝试释放内存的是mybuilder / phpunit-accelerator'但是如果你能找到特别重要的内存测试类,你可以手动清空拆解中使用的变量()函数。
确保您只收集自己代码(src /,也许是test /)的覆盖率数据也会节省大量内存(和时间) - 但会将' src /&#39列入白名单;目录并且不要尝试将黑名单/排除' vendor /'。