首页 > 解决方案 > 如何模拟生成的类?

问题描述

以前在使用 create 方法测试工厂类时,我可以使用setMethods一个尚不存在的类来模拟,如下所示:

        $factoryStub = $this->getMockBuilder($baseClass . 'Factory')
            ->disableOriginalConstructor()
            ->setMethods(['create'])
            ->getMock();

现在我看到该setMethods方法已被弃用,遵循线程(@deprecated https://github.com/sebastianbergmann/phpunit/pull/3687),我认为不是制作“模拟”,而是应该制作“部分模拟”。我无法使用createPartialMock尚不存在的类,这会稍微改变我的工作流程。

我想知道是否应该使用不同的 Test 对象来测试尚未生成的类?

我猜最好的选择是在运行测试之前生成代码,但我只是注意到我一直可靠使用的方法现在已被弃用,并且很想知道正确的方法来做到这一点。

感谢您的任何帮助,您可以提供 :)

标签: phpunit

解决方案


推荐阅读