我的一条路线上有以下代码:
return Response::download('cv.pdf');
知道怎么测试这个吗?我尝试过使用shouldReceive(),但这似乎行不通('shouldReceive()未定义函数.‘)。
发布于 2014-01-13 13:03:03
编辑: @DavidBarker在他对OP问题的评论中指出
照明\支持\外观\响应类实际上并不扩展照明\支持\外观\Facade,因此没有shouldRecieve()方法。您需要在测试中调用此路由后测试它的响应。
因此,如果您想测试您的下载功能,可以尝试使用以下方法检查响应中的错误:
$this->assertTrue(preg_match('/(error|notice)/i', $response) === false);发布于 2021-06-06 14:52:08
在Laravel8.45.0中添加了$response->assertDownload():
断言响应是“下载”。通常,这意味着返回响应的被调用路由返回一个响应::下载响应、BinaryFileResponse或存储::download:$ response ->assertDownload();
了解更多:
发布于 2016-02-15 11:17:04
您可以断言状态代码为200。
$this->assertEquals($response->getStatusCode(), 200);因为有时您可能会返回一些与“错误”或“通知”匹配的数据,这可能会产生误导。
此外,我还断言响应头中有一个attachment:
$this->assertContains('attachment', (string)$response);https://stackoverflow.com/questions/21091149
复制相似问题