在Laravel中测试Mimetype验证

时间:2019-07-10 11:05:44

标签: php laravel laravel-5

在我的Laravel应用中,我上传了一个文件,并使用mime-types进行了验证。 (我们接受几种图形文件,并且使用实际的mime类型是确保我们正确验证那些文件的所有可能变体的唯一方法。)

我有一个测试要涵盖此功能:

$request = [
    'files' => [
        1 => [
            'artwork' => UploadedFile::fake()->image('mockup1.jpg'),
        ]
    ]
];
$response = $this->put(route('fileUpdate', $this->order), $request);
$response->assertStatus(302)
    ->assertSessionHasErrors([
        'files.*.artwork'
    ]);

验证规则禁止使用.jpg文件,因此上述测试需要验证错误。但是,在上述情况下,UploadedFile的mime类型读取为“ application / octet-stream”,而不是“'image / jpeg”。

出于测试目的,有没有办法设置UploadedFile伪造品的mime类型?

0 个答案:

没有答案