我是拉拉维尔的新手。我正在 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);
}
运行测试用例时,我需要知道下载文件的位置
假设您使用的是最新版本的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');
}
}
让我知道你是如何相处的:)