2015-11-21 3 views
2

У меня есть проект, который структурирован таким образом:PHPUnit - один отчет о покрытии из нескольких папок проекта?

project 
├── app 
│   ├── phpunit.xml 
│   ├── src 
│   └── tests 
│    └── unit 
└── modules 
    ├── module1 
    │   ├── phpunit.xml 
    │   ├── src 
    │   └── tests 
    │    └── unit 
    └── module2 
     ├── phpunit.xml 
     ├── src 
     └── tests 
      └── unit 

Все основные интерфейсы/классы в app/src, и все расширения/реализации в modules/**. Таким образом, папки src содержат все контроллеры, модели и т. Д., А смежная папка tests/unit содержит все модульные тесты для этих объектов.

Я пытаюсь создать один coverage.xml отчет (и что более важно отчет HTML), который содержит результаты покрытия из всех тестов на обоих app/ и modules/. Может ли кто-нибудь предложить лучший способ достичь этого?

+0

ли это необходимо, чтобы каждый каталог нужен свой блок конфигурации? – ins0

+0

@ ins0 - не совсем. У меня он настроен так, потому что тогда каждая папка сама по себе может быть проверена самостоятельно. – cody

ответ

1

В корневой папке проекта вы можете создать один phpunit.xml.

При запуске PHP-блока просто указывается на корневой каталог проекта, а PHPUnit будет работать над всеми тестовыми файлами, которые он может найти.

То же самое касается сгенерированного coverage.xml, который теперь включает в себя все результаты от каждого тестового файла.

Если вы хотите отделить тестовые прогоны, посмотрите на вариант PHPunit testsuite.

Пример:

project 
├── phpunit.xml 
├── app (testsuite app) 
└── modules 
    ├── module1 (testsuite module2) 
    └── module2 (testsuite module1) 

Вставьте в ваш phpunit.xml

<testsuites> 
    <testsuite name="app"> 
    <directory>app</directory> 
    </testsuite> 
    <testsuite name="module1"> 
    <directory>modules/module1</directory> 
    </testsuite> 
    <testsuite name="module2"> 
    <directory>modules/module1</directory> 
    </testsuite> 
</testsuites> 

И колл с

phpunit --configuration phpunit.xml --testsuite module1

+0

Это довольно чистый - спасибо! – cody

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