阅读(4789) (9)

Laravel 8 伪造响应序列

2021-07-05 10:24:27 更新

有些时候,我们需要一个请求返回特定顺序的一系列响应。你可以使用 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());