首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel响应::download() test

Laravel响应::download() test
EN

Stack Overflow用户
提问于 2014-01-13 12:19:49
回答 4查看 10.7K关注 0票数 10

我的一条路线上有以下代码:

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

知道怎么测试这个吗?我尝试过使用shouldReceive(),但这似乎行不通('shouldReceive()未定义函数.‘)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-13 13:03:03

编辑: @DavidBarker在他对OP问题的评论中指出

照明\支持\外观\响应类实际上并不扩展照明\支持\外观\Facade,因此没有shouldRecieve()方法。您需要在测试中调用此路由后测试它的响应。

因此,如果您想测试您的下载功能,可以尝试使用以下方法检查响应中的错误:

代码语言:javascript
复制
$this->assertTrue(preg_match('/(error|notice)/i', $response) === false);
票数 3
EN

Stack Overflow用户

发布于 2021-06-06 14:52:08

在Laravel8.45.0中添加了$response->assertDownload()

断言响应是“下载”。通常,这意味着返回响应的被调用路由返回一个响应::下载响应、BinaryFileResponse或存储::download:$ response ->assertDownload();

了解更多:

https://laravel.com/docs/8.x/http-tests#assert-download

票数 11
EN

Stack Overflow用户

发布于 2016-02-15 11:17:04

您可以断言状态代码为200。

代码语言:javascript
复制
$this->assertEquals($response->getStatusCode(), 200);

因为有时您可能会返回一些与“错误”或“通知”匹配的数据,这可能会产生误导。

此外,我还断言响应头中有一个attachment

代码语言:javascript
复制
$this->assertContains('attachment', (string)$response);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21091149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档