我是Laravel的新手。我在laravel上编写单元测试来下载csv文件。当我运行测试用例时,我得到assertResponseStatus
为200,我需要打开创建的csv文件,我无法找到下载文件的位置。如何找到下载的文件。
这是控制器功能
public function generateCsv(){
$list = $this->csvRepo->getDetails();
$heading = array(
'heading 1',
'heading 2',
'heading 3'
);
$this->csvRepo->generateCsv($heading,'csv',$list);
}
运行测试用例时,我需要知道下载文件的位置
答案 0 :(得分:1)
假设您使用的是最新版本的Laravel / PHP Unit,您可以使用以下内容:
class ExampleFileDownload extends TestCase
{
public function fileDownloads()
{
Storage::fake('file');
// assuming we wanted to test like this:
$response = $this->json('POST', '/test', [
'file' => UploadedFile::fake()->image('testing.jpg')
]);
// Assert the file was stored – I believe this is the line you are looking for
Storage::disk('file')->assertExists('testing.jpg');
// Assert a file does not exist...
Storage::disk('file')->assertMissing('missing.jpg');
}
}
让我知道你是如何进行的:)