2014-01-13 3 views
2

я следующий код в одном из моих маршрутов:Laravel Response :: скачать) тест (

return Response::download('cv.pdf');

Любая идея, как это проверить? Я попытался использовать shouldReceive(), но это, похоже, не работает ('shouldReceive() undefined function ....').

+2

Параметр 'Осветите \ Support \ Фасады \ Response' класса фактически не распространяется' Осветите \ Support \ Фасады \ Facade' так оленья кожа есть метод 'shouldRecieve(). Вам нужно протестировать ответ этого маршрута после его вызова в тесте. –

ответ

3

EDIT: Как указано на @DavidBarker в своем комментарии к О.П. вопрос

Осветите \ Support \ Фасады \ класс Response фактически не распространяется Осветите \ Support \ Фасады \ Фасад так оленья кожа имеют метод shouldRecieve() . Вам нужно проверить ответ этого маршрута после его называния в тесте.


Так что, если вы хотите проверить свои загрузки функциональность, вы можете попытаться проверить реакцию на наличие ошибок с:

$this->assertTrue(preg_match('/(error|notice)/i', $response) === false); 
0

Вы можете утверждать, что код состояния 200

$this->assertEquals($response->getStatusCode(), 200); 

, потому что иногда у вас могут появиться некоторые данные, которые соответствуют «ошибке» или «уведомлению», и это может ввести в заблуждение.

я дополнительно утверждать, что есть attachment в заголовках ответа:

$this->assertContains('attachment', (string)$response); 
Смежные вопросы