2013-12-20 3 views
8

Интересно:Как отделить модуль и функциональные тесты в Symfony2?

  1. если это хорошая идея отдельных тестов (Unit | Functional ...) в Symfony2,
  2. и , как я должен разделить:

По структуре папок:

tests 
|-- functional  
|-- unit 

По конфигурации в phpunit.xml:

<testsuites> 
    <testsuite name="unit">...</testsuite> 
    <testsuite name="functional">...</testsuite> 
</testsuites> 

По аннотацию

/** 
* @group unit  
*/ 
function testMyUnit() 

Это разумный подход? есть стандартный способ для этого? Какие «уровни» разделяют (unit> integration> function)? И как воспользоваться этим, если я хочу играть с этими тестами вручную и быстрее, и получить отчеты о рациональном освещении в Дженкинсе?

+0

Что случилось с стандартным подходом к выполнению ваших функциональных тестов в папке Controller вашего пакета? –

+0

Где помещены тесты интеграции (например, с использованием ядра или контейнера) или «функциональный код»? – Koryonik

ответ

5

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

phpunit -c app/phpunit.xml 
phpunit -c app/phpunit_functional.xml 

структуры каталогов мы использовали:

src/Namespace/Bundle/Tests/Unit/ 
src/Namespace/Bundle/Tests/Functional/ 

Второй способ иметь один конфигурационный файл и запустить phpunit --testsuite unit.

+0

Как это работает через несколько пакетов? мне нужно обновлять глобальный файл phpunit каждый раз, когда я добавляю/удаляю пакет? –

Смежные вопросы