2017-04-20 7 views
0

Dingo에서 Laravel 5.3을 사용하여 API 요청을 관리합니다. Laravel 5.4로 업그레이드하려고하지만 테스트가 실패합니다. 여기 Laravel 5.4 업그레이드가 API 딩고 테스트를 위반했습니다.

는 경우입니다 :

$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"); 

을 다음 줄에 실패 그러나이 경우 seeHeader에서

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

가 정의되어 있지 않습니다.

작곡가를 "dingo/api": "1.0.*@dev"에서 "dingo/api": "v1.0.0-beta8"으로 변경했습니다.

답변

0

"문제"가 Dingo가 아닌 Laravel에 있다는 것을 깨달으십시오. 오류 메시지가 잘못 표시되었습니다.

Laravel 5.4에는 새로운 테스트 레이어가있어서 호환성을 제공하기 위해 패키지가 있습니다. Laravel 업그레이드 가이드에는 테스트 섹션의 https://laravel.com/docs/5.4/upgrade에 대한 모든 정보가 있습니다.