내 경로 중 하나에 다음 코드를했다 :Laravel 응답 : 다운로드() 테스트
return Response::download('cv.pdf');
어떤 생각 방법이 테스트? 나는 shouldReceive()를 사용하려고 시도했으나 작동하지 않는 것 같습니다 ('shouldReceive() undefined function ....').
내 경로 중 하나에 다음 코드를했다 :Laravel 응답 : 다운로드() 테스트
return Response::download('cv.pdf');
어떤 생각 방법이 테스트? 나는 shouldReceive()를 사용하려고 시도했으나 작동하지 않는 것 같습니다 ('shouldReceive() undefined function ....').
편집 : 영업 질문에 자신의 의견에 @DavidBarker에 의해 지적
실제로 를 분명히 \ 지원 \ 외관 \ 외관을 연장하지 않습니다를 분명히 \ 지원 \ 외관 \ 응답 클래스 그래서 나던 shouldRecieve() 메소드가 있어야합니다. 이 경로의 응답을 시험에서 으로 전화 한 후 테스트해야합니다. 당신이 당신의 다운로드 기능을 테스트하려는 경우
그래서, 당신과 오류에 대한 응답 검사를 시도 할 수 있습니다 : 당신은 상태 코드가 있음을 주장 할 수
$this->assertTrue(preg_match('/(error|notice)/i', $response) === false);
200
$this->assertEquals($response->getStatusCode(), 200);
"오류"또는 "주의"와 일치하는 일부 데이터가 반환 될 수 있으며 오해의 소지가 있기 때문입니다.
나는 또한 응답 헤더에 attachment
가 있다고 주장 :
$this->assertContains('attachment', (string)$response);
은'를 분명히 \ 지원 \ 외관 \ Response' 클래스를 실제로를 분명히 \ 지원 \ 외관 \ Facade' 그렇게 나던이'확장되지 않습니다 'shouldRecieve()'메소드. 테스트에서이 경로를 호출 한 후이 경로의 응답을 테스트해야합니다. –