我刚刚在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/

10-16 10:33