我们将系统升级到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
,这看起来效果不同以至于全局查找/替换不会削减它?
答案 0 :(得分:5)
你可以创建一个名为TestAdapter的额外测试类,它将扩展PHPUnit_Framework_TestCase
class TestAdapter extends PHPUnit_Framework_TestCase
{
/**
* Override your deprecated method
*/
public function getMock()
{
return $this->createMock();
}
}
然后你只需要扩展这个类中的所有测试。
答案 1 :(得分:0)
有同样的问题。我确实运行了正则表达式替换来修复getMock()
不推荐使用的条目。
->getMock\(([^)]+)\)
替换为->getMockBuilder($1)->getMock()
希望有帮助