在我的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类型?