У меня есть проект, который структурирован так:
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/
, Кто-нибудь может предложить лучший способ сделать это?
Вы могли бы создать один phpunit.xml
в корневой папке вашего проекта.
При запуске PHP Unit просто укажите на корневой каталог вашего проекта, и 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
Других решений пока нет …