2
我們正在開發我們的項目在Laravel 4.我們的一個集成測試執行兩個連續的HTTP請求到同一控制器:多個HTTP請求測試
public function testFetchingPaginatedEntities() {
$response = $this->call('GET', "foos?page=1&page_size=1");
// assertions
$response = $this->call('GET', "foos");
// some more assertions
}
正如你所看到的,第二個請求不帶任何查詢字符串參數。但是,我們注意到我們的控制器在兩個請求中都收到了page
和page_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\Client
,因此可以在測試中使用。
任何人都可以提供重置測試客戶端的替代方案嗎?或者也許有辦法避免重新啓動它?
可能與此有關 - https://github.com/laravel/framework/issues/6373 - 我剛纔報道 - 仍然沒有修復。 – Laurence 2015-02-10 07:06:45
謝謝,我會密切關注它。 – cafonso 2015-02-10 07:35:59
@TheShiftExchange fyi,我在Github上打開了一個問題,看起來他們已經修復了它:https://github.com/laravel/framework/pull/7380 – cafonso 2015-02-10 19:09:34