带有上传文件的Laravel单元测试无法获取文件

时间:2018-08-31 05:02:04

标签: laravel laravel-5

我正在使用Laravel 5.6。

我的单元测试代码:

public function testUpload()
{
    Storage::fake('local');

    $this
        ->post(route('upload', ['file' => UploadedFile::fake()->create('file.txt', 1024)]))
        ->assertSuccessful();
}

但是在控制器$request->file('file')中始终为null

route('upload')是正确的,但是dd($request->file('file'))总是null,而dd($request->file()是空数组。

有人对这个问题有任何想法吗?

1 个答案:

答案 0 :(得分:1)

您要在post函数的第二个参数中传递参数。这就是您想要的:

public function testUpload()
{
    Storage::fake('local');

    $this
        ->post(route('upload'), ['file' => UploadedFile::fake()->create('file.txt', 1024)])
        ->assertSuccessful();
}