Esta é minha classe para teste unitário:
<?php
namespace Tests\Unit;
use Illuminate\Support\Facades\Storage;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
public function testBasicStorage()
{
$storage = Storage::disk('local');
$response = $storage->put('test.txt', 'test');
$this->assertTrue($response);
}
}
Toda vez que executo o teste recebo este erro:
A facade root has not been set.
at vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:258
254| {
255| $instance = static::getFacadeRoot();
256|
257| if (!$instance) {
> 258| throw new RuntimeException('A facade root has not been set.');
259| }
260|
261| return $instance->$method(...$args);
262| }
1 tests/Unit/ExampleTest.php:12
Illuminate\Support\Facades\Facade::__callStatic("disk")
Percebi que este erro acontece para qualquer facade do laravel nos testes unitários, no entato nos testes de feature o erro não acontece.
Minha duvida é, quando eu faço um serviço que utilize qualquer facade do laravel não preciso fazer teste unitário?