Использование помощников Laravel в пакете
Я пытаюсь написать тесты для моего пакета Laravel, и это зависит от отправки помощника Laravel. Но сам пакет не содержит эту функцию.
Так что у меня ошибка при запуске тестов
Есть ли решение для этого случая? Или я должен использовать DI и вводить Illuminate\Contracts\Bus\Dispatcher
вместо использования помощника?
1 ответ
Помощник по тестированию Laravel для разработки пакетов: https://github.com/orchestral/testbench
Пакет позволяет запускать тесты в среде, похожей на laravel. Вы можете использовать базу данных, фасады, помощники и т. Д.
При написании приложения Laravel, как правило, не имеет значения, используете ли вы контракты или фасады, поскольку оба обеспечивают практически одинаковые уровни тестируемости. Однако при написании пакетов ваш пакет обычно не будет иметь доступа ко всем помощникам по тестированию Laravel. Если вы хотите иметь возможность писать свои тесты пакетов, как если бы они существовали в типичном приложении Laravel, вы можете использовать пакет Orchestral Testbench.
Вот пример реального использования: https://github.com/Maatwebsite/Laravel-Excel