PHPUnit: Несколько Начальных загрузок или XML-файлов?

У меня есть платформа 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.

Если наиболее успешная практика является 'единственной конфигурацией'... кто-либо знает, как Вы идете о включении нескольких 'начальных загрузок'? Начиная с каждого Загрузки приложения с немного отличающимися глобальными переменными, и некоторые загрузят немного отличающиеся версии одноименных классов, было бы необходимо очистить все и запуститься снова.

Я интересуюсь созданием 'оптимальной' системы для тестирования от запуска, но, очевидно, имейте несколько дыр в моем знании.

7
задан Alex C 6 August 2010 в 21:02
поделиться