将PHPUnit从4.8升级到5.5

Umb*_*lla 8 php phpunit unit-testing

我们将系统升级到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
Run Code Online (Sandbox Code Playgroud)

现在的样子是我们必须接触1200多个单元测试来重构我们如何构建我们的模拟.

是否有一种方法来抑制该警告,或者,快速转换我们对getMockto 的使用createMock,这似乎工作方式不同以至于全局查找/替换不会削减它?

jar*_*989 5

您可以创建另一个名为TestAdapter的测试类,它将扩展PHPUnit_Framework_TestCase

class TestAdapter extends PHPUnit_Framework_TestCase
{
    /**
    * Override your deprecated method
    */
    public function getMock()
    {
        return $this->createMock();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你只需要扩展这个类的所有测试.