我刚刚在Mac OS X 10.7中通过pear安装了phpunit,除了我遇到内存限制错误(为报告启用了xdebug)之外,其他所有东西都工作正常。
我尝试将-d memory_limit=512M
参数添加到phpunit中,但未应用,因为在第一个错误中,我添加了var_dump(ini_get('memory_limit')); exit;
并显示string(3)“32M”
那么,为什么不应用它呢?
除此之外,如果我运行
php -d memory_limit=256M -r "echo ini_get('memory_limit');"
它回显“256M”
phpunit是否可能不执行相同的php?
最佳答案
是的,您可以使用phpunit -d
设置的ini_set
设置每个php选项。
You already opened a bug over in the phpunit bug tracker但是我要在这里寻求更详细的答案
复制以表明它可以正常工作:
echo "<?php var_dump(ini_get('memory_limit')); " > foo.php
phpunit -d memory_limit=12M --bootstrap foo.php
产生:
string(3) "12M"
PHPUnit 3.6.5 by Sebastian Bergmann.
但是phpunit仅在运行第一个测试之前应用此选项一次!
因此,您的代码很有可能在将内存限制更改回
32M
的位置,而phpunit无法“修复”。在
phpunit.xml
文件中设置内存限制也是如此。关于php - phpunit memory_limit参数不适用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8810094/