У меня есть платформа PHP MVC с несколькими 'приложениями' под этой системой, организация идет
\project\apps\app1\
\project\apps\app2\
\project\apps\shared\
Каждое приложение может иметь свой собственный набор контроллеров
\project\apps\app1\controllers\FooContoller.php
\project\apps\app2\controllers\FooContoller.php
\project\apps\shared\controllers\BarContoller.php
Я хотел бы настроить свой PHPUnit, тестирующий пространство, чтобы смочь протестировать каждый из каталогов приложения, но я надеюсь сделать это "лучшим" способом.
Установка PHPUnit похожа:
\project\PHPUnit
\project\PHPUnit\phpunit.xml
\project\PHPUnit\apps\app1\bootstrap.php
\project\PHPUnit\apps\app1\controllers
\project\PHPUnit\apps\app1\controllers\FooControllerTest.php
\project\PHPUnit\apps\app2\bootstrap.php
\project\PHPUnit\apps\app2\controllers
\project\PHPUnit\apps\app2\controllers\FooControllerTest.php
Теперь вот вопрос: что "наиболее успешная практика" путь состоит в том, чтобы настроить мои файлы phpunit.xml?
В настоящий момент я пытался включать оба приложения как их собственный набор тестов в XML-файле, но я сталкиваюсь, "не Может Повторно объявить Класс: FooController" довольно быстро.
По моему мнению идеальная ситуация состояла бы в том, чтобы настроить XML так, чтобы все тесты работали за app1 затем, память была 'очищена', и все тесты были запущены для app2.
Это могло бы однако, иметь место, который с точки зрения наиболее успешной практики лучше иметь несколько XML-файлов, один для каждого APP. (Затем, возможно, файл пакета/сценария оболочки, чтобы запустить "тест все" или протестировать X)
Если мы смотрим на 'типичный' файл конфигурации PHPUnit XML:
<phpunit bootstrap="./apps/app1/bootstrap.php" colors="true">
<testsuite name="App1TestSuite">
<directory>./</directory>
</testsuite>
<filter>
<whitelist>
<directory suffix=".php">./apps/app1/controllers/</directory>
<directory suffix=".php">./apps/shared/</directory>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="./log/report.html" charset="UTF-8"
yui="true" highlight="true"
lowUpperBound="50" highLowerBound="80"/>
<log type="testdox-html" target="./log/testdox.html" />
</logging>
</phpunit>
Я должен пойти со многими из них? Или если я добавляю тег и имею все Установки файлов, объединенные в единственной конфигурации XML.
Если наиболее успешная практика является 'единственной конфигурацией'... кто-либо знает, как Вы идете о включении нескольких 'начальных загрузок'? Начиная с каждого Загрузки приложения с немного отличающимися глобальными переменными, и некоторые загрузят немного отличающиеся версии одноименных классов, было бы необходимо очистить все и запуститься снова.
Я интересуюсь созданием 'оптимальной' системы для тестирования от запуска, но, очевидно, имейте несколько дыр в моем знании.