类型提示致命错误:未捕获TypeError PHP5 - > php7 workarround

时间:2017-09-18 13:58:49

标签: php phpunit php-7 php-5.6

在php7上测试应用...

我们所有的PHPUnit测试都失败了,因为PHP5中的类型提示没有得到php5的尊重。

下面写了很多测试:

$bar->expects($this->any())->method('foo')->will(null);
  

上面的内容可以在php5中运行,但会在php7上引发致命错误

PHP7期望严格的类型:

$bar->expects($this->any())->method('foo')->will($this->returnValue("foo"));

改变我们拥有的成千上万的每一项测试都不切实际,我跳过有一种方法可以让PHP7忽略这些错误吗?

到目前为止,我所能找到的是以下内容,这对我不起作用。

declare(strict_types=0);

我已尝试将该指令添加到受影响的文件中,但它无法正常工作。

我正在寻找一种配置PHP的方法,也许是一个ini配置来禁用或忽略这种错误。唯一的另一种选择是彻底重写单元测试。

0 个答案:

没有答案