我们把系统升级到php7.0。
这要求我们将phpunit升级到5.5,因为4.8不能正确支持php7。
这将产生以下错误,这将在我们的ci中的phpunit中确定一个失败
PHPUnit_Framework_TestCase::getMock() is deprecated,
use PHPUnit_Framework_TestCase::createMock() or
PHPUnit_Framework_TestCase::getMockBuilder() instead
现在的情况是,我们必须接触1200多个单元测试来重构如何构建模拟。
有没有办法消除这个警告,或者,快速地将
getMock
的用法转换为createMock
,它的工作方式似乎已经足够不同,以至于全局查找/替换不会减少它? 最佳答案
您可以创建名为testadapter的附加测试类,它将扩展phpunit_framework_testcase
class TestAdapter extends PHPUnit_Framework_TestCase
{
/**
* Override your deprecated method
*/
public function getMock()
{
return $this->createMock();
}
}
那么你只需要把你所有的测试从这个类中扩展出来。