[英]Guzzle MockPlugin doesn't respond with content body
在PHPUnit测试中使用Guzzle MockPlugin 。 我发现响应内容正文为空,无论我做什么。
我是在做错什么,还是一个错误?
测试设置
$client = new Client();
$plugin = new MockPlugin();
$plugin->addResponse(new Response(200, null, "This is never sent..."));
$client->addSubscriber($plugin);
$this->httpClientFactoryMock
->expects($this->any())
->method('getClient')
->will($this->returnValue($client));
被测方法
$client = $this->httpClientFactory->getClient();
$request = $client->post($this->url, null, $content->asXML());
$response = $request->send();
$response->body
在任何地方都没有"This is never sent..."
:(但是我可以在标题中放入内容,因此我确信插件在至少某种程度上可以正常工作。
问题是我没有正确发送或阅读。
根据这个 ,我需要阅读的内容为$response->getBody(true)
来读取它作为一个字符串。
你们中的有些人可能已经注意到post函数中的$content->asXML()
了。 因此,我实际上需要执行$response->xml()
,并记住将->asXML()
放在已发送的内容上。 现在可以了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.