Php 单元 getMockBuilder 与 Mockery

问题描述 投票:0回答:1

使用

PHPUnit\Framework\TestCase
类运行单元测试的 Laravel 项目。为了创建模拟,它有时使用内置的 PHPUnit Api。例如

$this->mock = $this->getMockBuilder(ClassToMockName::class)
            ->disableOriginalConstructor()
            ->onlyMethods(["this", "that", "theOtherMethodName"])
            ->getMock();

其他时候它使用 Mockery 库,例如

$this->mock = \Mockery::mock(ClassToMock::class)->makePartial();

这些方法只是两种不同的模拟方法吗?各有什么优缺点?

在这个主题上找不到太多内容,除了像用于嘲笑的提示这样的文章,这些文章没有解释是什么让一个人比另一个人更受欢迎。

phpunit laravel-8 mockery
1个回答
0
投票

它可能正在使用 Mockery,以便可以对您正在测试的方法中的静态方法调用进行存根。 PHPUnit 不支持这个。

© www.soinside.com 2019 - 2024. All rights reserved.