2017-04-20 113 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