Я хотел бы запустить свои тесты PHPUnits в плагинах из корневого каталога.
Проблема в том, что каждый отдельный плагин поступает из своего собственного репозитория, и PHPUnit регистрируется там через зависимости composer dev.
Процесс сборки основного проекта «Приложение» извлекает плагины с помощью композитора.
В этой структуре есть мой текущий проект PHP:
/Application
/Plugins
/PluginFirst
/tests
/PluginSecond
/tests
/PluginThird
/tests
Идея состоит в том, чтобы создать сценарий оболочки или ruby для итерации папки плагинов и запуска PHPUnit.






Вы можете создать файл конфигурации с именем phpunit.xml.dist и сохранить его в корневой папке проекта со следующей конфигурацией. Предполагая, что у вас также есть тестовая папка для запуска ваших собственных модульных тестов на том же уровне папки:
<?xml version = "1.0" encoding = "UTF-8"?>
<phpunit>
<testsuites>
<testsuite name = "Application API Test Suite">
<directory>./tests/</directory>
<directory>./Plugins/</directory>
</testsuite>
</testsuites>
</phpunit>
Затем вы можете запустить phpunit следующим образом:
phpunit --configuration phpunit.xml.dist
Если вы хотите исключить, например, папку PluginThird, вы можете добавить эту строку внутри тега
<exclude>./Plugins/PluginThird/</exclude>
«Приложение» готово к производству и будет развернуто. Следовательно, нет зависимости PHPUnit от «Приложения».
Какой PHP-фреймворк вы использовали для создания своего приложения?
Мы используем WordPress и WPCLI, эта структура является только сниппетом.
Спасибо за ответ. Проблема в том, что корневой проект «Приложение» не имеет зависимости PHPUnit. (Что очень желательно) У каждого плагина есть своя разработка PHPUnit Dependency.