当在模拟对象上调用任何未配置的方法时,PHPUnit 是否可能失败?例子;$foo = $this->createMock(Foo::class);$foo->expects($this->any())->method('hello')->with('world');$foo->hello('world');$foo->bye();这个测试会成功。我希望它失败Foo::bye() was not expected to be called. PS以下将起作用,但这意味着我必须在回调中列出所有配置的方法。这不是一个合适的解决方案。$foo->expects($this->never()) ->method($this->callback(fn($method) => $method !== 'hello'));
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
这是通过禁用自动返回值生成来完成的。
$foo = $this->getMockBuilder(Foo::class)
->disableAutoReturnValueGeneration()
->getMock();
$foo->expects($this->any())->method('hello')->with('world');
$foo->hello('world');
$foo->bye();
这将导致
Return value inference disabled and no expectation set up for Foo::bye()
请注意,其他方法(如 )不需要hello定义返回方法。
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消