Laravel で画像アップロードのController周りのテストを書いたことがなかったので備忘録
<?php use Tests\TestCase; use Illuminate\Http\UploadedFile; class SampleControllerTest extends TestCase { public function test画像アップロードができる() { $res = $this->post('image/upload', ['images' => UploadedFile::fake()->image('hoge.jpg')]); $res->assertRedirect('image/upload/completed'); $res->assertSessionHas('success', 'アップロードに成功しました。'); } }
UploadedFile facadeのfake()を使えばOK
勝手に面倒くさそうと思ってたけどめちゃめちゃ簡単だった👌