PHPUnit processIsolation与常量的奇怪 - 常量已定义

时间:2016-07-25 13:23:19

标签: symfony phpunit

我们在Symfony 2项目的app / phpunit.xml.dist文件中新激活了设置

processIsolation="true"

最大限度地减少我们单次测试之间的刺激性依赖关系。

这与我的同事的本地安装(php 5.6.20和php 5.6.22)运行良好但是我的设置(php 5.6.24)导致无穷无尽的错误列表我们都使用Linux和相同的phpunit版本4.8 0.6

我得到的错误是

PHPUnit_Framework_Exception: PHP Notice:  Constant MB_CASE_UPPER already defined in

令人讨厌的是,我们收录的供应商软件包引发了此错误。

/供应商/ symfony的/填充工具-MBSTRING

如果这篇文章仍在应用,这是由多次调用bootstrap文件引起的,看起来我想多次定义常量。 资源: https://github.com/sebastianbergmann/phpunit/issues/314

我很遗憾如何解决这个问题,并且会对任何提示,造成它的原因以及解决方法感到高兴。

我已经在xml文件中尝试了其他几个设置,但它没有效果。

1 个答案:

答案 0 :(得分:0)

所以我解决了这个问题虽然我不知道为什么。

所以我的系统正在运行Ubuntu 15.04并且我已经安装了ondrejs php存储库,以便能够为我的项目选择合适的php版本,而不是依赖于Ubuntu的有时古董版本。

因为我的同事使用php 5.6.20和5.6.22我在synaptic包管理器中检查了我的版本并发现我在某种程度上同时安装了两个版本的php。奇怪的。 php5.6.23(5.6.23 + dfsg-1 +已弃用+ dontuse + deb.sury.org~wily + 1)以及同时也在控制台上使用的5.6.24版本。

所以我不确定版本24是否导致错误,或者错误是否由两个版本引起,但现在删除版本24我的测试再次运行。