我的代码:
public function testApiClient()
{
$mock = createMockApiClient();
dump($mock->someMethod());
}
protected function createMockApiClient()
{
$mockApiClient = $this->createMock(ApiClient::class);
return $mockApiClient
->expects($this->any())
->method('someMethod')
->will($this->returnValue('someString'))
;
}
所以我有这个错误:
Error: Call to undefined method
PHPUnit_Framework_MockObject_Builder_InvocationMocker::someMethod()
我是PHPUnit测试的新手,那该怎么办?我无法理解为什么我在例子中写的没有结果 - 只是错误?
答案 0 :(得分:0)
所以我开始在谷歌搜索。奇怪:没有人回答。在PHPUnit上搜索Github存储库没有得到任何解决方案,甚至提示如何解决问题。
经过多次尝试后,我!发现!方法will
返回PHPUnit_Framework_MockObject_Builder_InvocationMocker
类,如果我只是在will
分号后写,然后返回{{ 1}}它返回$mockApiClient
!
所以你必须完成构建你的模拟,然后才返回它。