繁体   English   中英

Guzzle MockPlugin对内容主体没有响应

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM