Я хотел бы запустить свои тесты PHPUnits в плагинах из корневого каталога.
Проблема состоит в том, что каждый отдельный плагин поставляется из своего собственного репозитория, а PHPUnit регистрируется там как через зависимости разработчика.
Процесс сборки основного проекта «Приложение» вытаскивает плагины с помощью composer.
Эта структура имеет мой текущий проект PHP:
/Application
/Plugins
/PluginFirst
/tests
/PluginSecond
/tests
/PluginThird
/tests
Идея состоит в том, чтобы создать сценарий оболочки или ruby для итерации папки плагинов и запуска PHPUnit.
Вы можете создать файл конфигурации с именем phpunit.xml.dist и сохранить его в корневой папке проекта со следующей конфигурацией. Предполагая, что у вас также есть папка test для запуска ваших собственных модульных тестов на том же уровне папки:
<?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>
Других решений пока нет …