С помощью Laravel вы можете использовать Artisan для создания тестового класса, используя команду php artisan make:test
. При желании флаг --unit
может использоваться для создания модульного теста вместо функционального теста.
Недавно мне пришлось написать модульный тест, который требовал некоторой настройки перед выполнением. К сожалению, я столкнулся с ошибкой при попытке использовать фасад: A facade root has not been set
.
После некоторого копания я увидел, что тестовый класс, созданный с флагом --unit
, простирается от PHPUnit\Framework\TestCase
, где есть проверка характеристик простирается от Tests\TestCase
. И именно поэтому я не смог использовать фасад, приложение не загружается при использовании тестового класса, сгенерированного с помощью --unit
.
Кто-нибудь знает, почему он спроектирован таким образом?