作者:brucegogo03 | 来源:互联网 | 2022-12-26 13:15
我有一个具有以下功能的类:
public function get(string $uri) : stdClass
{
$this->client = new Client;
$respOnse= $this->client->request(
'GET',
$uri,
$this->headers
);
return json_decode($response->getBody());
}
如何从PHPUnit模拟请求方法?我尝试了不同的方法,但它总是尝试连接到指定的uri.
我尝试过:
$clientMock = $this->getMockBuilder('GuzzleHttp\Client')
->setMethods('request')
->getMock();
$clientMock->expects($this->once())
->method('request')
->willReturn('{}');
但这没效果.我能做什么?我只需要将响应模拟为空.
谢谢
PD:客户端来自(使用GuzzleHttp\Client)
1> themazz..:
我认为最好使用http://docs.guzzlephp.org/en/stable/testing.html#mock-handler
因为它看起来是最优雅的方式来正确地做到这一点.
谢谢你们