2017-04-20 91 views
0

我使用Laravel 5.3與Dingo管理API請求。我正在嘗試升級到Laravel 5.4,但我的測試失敗了。Laravel 5.4升級破解API Dingo測試

這裏有一個案例:

$request = $this->get('/api/authenticated-user', $this->headers()); 
$limit = $request->response->headers->get("X-RateLimit-Limit"); 
$times = $request->response->headers->get("X-RateLimit-Remaining") - 1; 
do { 
    $request = $this->get('/api/authenticated-user', $this->headers()); 
    $request->seeHeader("X-RateLimit-Limit", $limit); 
    $request->seeHeader("X-RateLimit-Remaining", $times); 
    $request->seeStatusCode(($times == 0 ? 429 : 200)); 
    $times--; 
} while ($times > 0); 

之前升級它的工作就像一個魅力,但現在它返回:在第二行發生

Undefined property: Dingo\Api\Http\Response::$response 

此錯誤。如果我刪除response它的工作原理:

$limit = $request->headers->get("X-RateLimit-Limit"); 

但是下面一行失敗:

$request->seeHeader("X-RateLimit-Limit", $limit); 

在這種情況下seeHeader沒有定義。

我將作曲家從"dingo/api": "1.0.*@dev"更改爲"dingo/api": "v1.0.0-beta8"

回答

0

只要意識到「問題」是在Laravel不在丁戈。錯誤信息誤導了我。

Laravel 5.4有一個新的測試層,爲了提供兼容性還有一個包。 Laravel升級指南包含測試部分中的所有信息:https://laravel.com/docs/5.4/upgrade