Guzzle 6 文档提供了一种模拟 HTTP 调用的简单方法,以便每个请求都返回一个特定的响应:http ://docs.guzzlephp.org/en/latest/testing.html#mock-handler
但是,正如文档中所述,MockHandler
定义了一个响应队列,将为每个请求(无论 URL 是什么)以相同的顺序发送。
如何告诉 Guzzle 在每次调用给定 URL 时发送特定响应?
例如,我想要这个电话:
$client->request('GET', '/products')->getBody();
不是提出实际请求,而是始终返回:
{'products' => [{id: 1, name: 'Product 1'}, {id: 2, name: 'Product 2'}]
使用 AngularJS$httpBackend
服务很容易:
$httpBackend
.when('GET', '/products')
.respond("{id: 1, name: 'Product 1'}, {id: 2, name: 'Product 2'}")
关于如何使用 Guzzle 6 实现这一目标的任何想法?