Laravel Unit Test: A facade root has not been set

Unit Tests sind eigentlich dazu gedacht, schnelle, einfache Tests durchzuführen. Komplexere Tests mit größeren Abhängigkeiten werden bei Laravel im Regelfall als Feature-Tests abgebildet. Nichts desto trotz kann es beim Einsatz von Unit Tests vorkommen, dass man beispielsweise auf Storage oder ähnliche Elemente zurückgreifen muss. Greift man darauf zurück, erhält man folgende Fehlermeldung:

A facade root has not been set.

Der Fehler entsteht durch das standardmäßig enthaltene:

use PHPUnit\Framework\TestCase;

Um die Laravel Facades nutzen zu können, muss man PHPUnit\Framework\TestCase gegen Tests\TestCase austauschen, also:

use Tests\TestCase;

Anschließend sollte die Fehlermeldung verschwunden sein.

Schreibe einen Kommentar