【问题标题】:Pushing requests to a HandlerStack after Guzzle Client has been created创建 Guzzle 客户端后将请求推送到 HandlerStack
【发布时间】:2016-03-21 09:22:04
【问题描述】:

在创建 Guzzle 客户端 (v6) 之后,我正尝试发送虚假请求以进行单元测试。

我尝试查看 Guzzle 类有一段时间,但找不到实现此目的的方法。请注意,我正在进行 PHPUnit 测试,只能访问客户端,由它所依赖的另一个测试发送。

// Create a mock and queue two responses.
$mock = new MockHandler([
    new Response(200, ['X-Foo' => 'Bar']),
    new Response(202, ['Content-Length' => 0])
]);

$handler = HandlerStack::create($mock);
$client = new Client(['handler' => $handler]);

// New requests after the client has been initiated
$newMock = new MockHandler([
    new Response(200, ['X-Foo' => 'Bar']),
    new Response(202, ['Content-Length' => 0])
]);

// useful?
$config  = $client->getConfig();
$handler = $config['handler'];

// push the new requests in $newMock?
$handler->something(…);

【问题讨论】:

    标签: mocking phpunit handler guzzle


    【解决方案1】:

    差不多了。最后一行:

    $handler->setHandler($newMock);
    

    【讨论】:

    • 对不起 - 刚刚注意到这个问题的年龄。在寻找有关 HandlerStack 的类似问题的答案时遇到了这个问题
    • 还是有用的!如果我回去工作,我会试试!谢谢!
    猜你喜欢
    • 2019-09-27
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多