Testando uploads de arquivos com Laravel

O Laravel agora inclui um novo sistema para testar uploads de arquivos por meio de dois novos métodos fake(), um na classe UploadFile e outro Storage.

Conforme a documentação demonstra, aqui está um teste completo mostrando o uso desses métodos:

<?php

namespace Tests\Feature;

use Tests\TestCase;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;

class FileControllerTest extends TestCase
{
    public function test_img_upload()
    { 
        Storage::fake('imgs');

        $response = $this->post('/upload', [
            'image' => UploadedFile::fake()->image('name.jpg')
        ]);

        // Assert...
        Storage::disk('imgs')->assertExists('name.jpg');
    }
}

Agora, testar uploads de arquivos no Laravel ficou ainda mais simples.

Espero que este tutorial seja útil para você.