gpt4 book ai didi

php - Laravel 5 集成测试中的多个 HTTP 请求

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:41:16 24 4
gpt4 key购买 nike

我们正在 Laravel 4 中开发我们的项目。我们的一个集成测试对同一个 Controller 执行两个连续的 HTTP 请求:

public function testFetchingPaginatedEntities() {
$response = $this->call('GET', "foos?page=1&page_size=1");
// assertions

$response = $this->call('GET', "foos");
// some more assertions
}

可以看到,第二个请求没有携带任何查询字符串参数。但是,我们注意到我们的 Controller 在两个请求中都收到了 pagepage_size

我们能够通过在调用之间重新启动测试客户端来解决此问题(如 Laravel 4 controller tests - ErrorException after too many $this->call() - why? 中所述):

public function testFetchingPaginatedEntities() {
$response = $this->call('GET', "foos?page=1&page_size=1");
// assertions

$this->client->restart();

$response = $this->call('GET', "foos");
// some more assertions
}

我们现在正在考虑将我们的项目移植到 Laravel 5,但看起来 $this->client 在测试中不再可用,因为 L5 不再使用 Illuminate\Foundation\Testing\客户端.

有人可以提供重置测试客户端的替代方案吗?或者可能是一种完全避免重新启动它的方法?

最佳答案

$this->refreshApplication();

在调用之间为我解决了 Laravel 5.4 上的问题。

关于php - Laravel 5 集成测试中的多个 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com