【发布时间】:2021-08-19 19:07:54
【问题描述】:
我目前正在使用 Guzzle 进行 Symfony3 项目。我的项目调用了几个外部 API,我想在我的功能测试中模拟这些请求。
查看Guzzle documentation,似乎遵循的方法是同时使用模拟处理程序和历史中间件。然而,令我惊讶的是,没有针对这个常见任务的内置解决方案(或者至少,我没有找到它)。
我的期望是用类似这样的方式编写测试:
$mockedClient = new MockedClient([
['GET', '/foo', 200, 'Hello world!'],
['GET', '/bar', 200, 'Hello another world!'],
]);
$mockedClient->verify();
您使用的是哪种解决方案? :)
【问题讨论】:
-
是的,我过去在一些功能测试中使用过文档中描述的方法。当您配置预期响应时,您可以将其作为依赖项传递给被测服务(或覆盖容器中定义的 guzzle),然后照常使用。如果您需要更多信息,请告诉我
标签: mocking phpunit symfony guzzle