Laravel 8 伪造响应序列
有些时候,我们需要一个请求返回特定顺序的一系列响应。你可以使用 Http::sequence
方法来构建响应:
Http::fake([
// 为 Github 作出响应序列
'github.com/*' => Http::sequence()
->push('Hello World', 200)
->push(['foo' => 'bar'], 200)
->pushStatus(404),
]);
当响应序列中没有有效响应时,将会引发异常。如果你希望在序列为空时返回默认响应,请使用 whenEmpty
方法:
Http::fake([
// 为 Github 作出响应序列
'github.com/*' => Http::sequence()
->push('Hello World', 200)
->push(['foo' => 'bar'], 200)
->whenEmpty(Http::response()),
]);
如果你希望伪造一个响应序列,但不想指定特定的 URL 正则,你可以使用 Http::fakeSequence
方法:
Http::fakeSequence()
->push('Hello World', 200)
->whenEmpty(Http::response());