php - 将 PHPUnit 从 4.8 升级到 5.5

标签 php unit-testing phpunit

我们将系统升级到 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();
    }
}

然后您只需要从该类扩展所有测试。

关于php - 将 PHPUnit 从 4.8 升级到 5.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39086660/

相关文章:

c# - 如何开始使用 SitecoreFakeDb 进行 Sitecore 单元测试

java - 如何注入(inject)java.io.File然后设置其名称

php - PHPUnit 中是否有与 SimpleTest 的 "partial mocks"等效的内容?

angularjs - 使用 JSON 请求正文测试 Laravel Controller

php - 现代部落事件日历元查询打破 wp_query

PHP - 使用 Bulletproof 库上传多个文件

php - 似乎无法将精确字符串与 Preg_replace 匹配

php - 在谷歌日历中插入事件

PHPUnit - 断言失败但我想继续测试

java - 如何避免一个测试类中的模拟注入(inject)对不同类的影响?