Как мне получить Эмму или Cobertura, с Maven, сообщить об охвате исходного кода в других модулях?

У меня есть многомодульная установка Maven с кодом Java.

Мои модульные тесты в одном из модулей выполняют код в нескольких модулях . Естественно, у модулей есть взаимозависимости, и код во всех соответствующих модулях компилируется по мере необходимости до выполнения теста.

Итак: Как я могу получить отчет о покрытии всей кодовой базы?


Примечание: Я Я не спрашиваю, как объединить результаты покрытия тестов в нескольких модулях. Я спрашиваю, как получить покрытие для тестов в одном модуле, используя инструментальный код из нескольких модулей. Любой, кто интересуется первым, может обратиться к этим другим вопросам , а также рекомендациям Крауна для Maven Dashboard и Sonar .

Мне удалось получить полный отчет о покрытии , используя чистый Ant . [EDIT:] Я включил все jar-файлы из каталога времени разработки во временный каталог; добавили временный каталог к ​​пути к классам; затем запускал тесты из Ant с пакетным тестом .

Ant можно запускать из Maven, но здесь проблема заключается в бесшовной интеграции (т. е. подача всех элементов classpath и sourcepath из От Maven к Ant автоматически), поэтому я не использовал для этой цели средства Maven.

Есть также другие вопросы об интеграционных тестах. Однако, по умолчанию отчет каждого проекта по умолчанию сообщает только о покрытии кода в том же проекте, тогда как мои тесты проверяют код в нескольких проектах.

Эта статья на испанском языке может быть актуальной. Вот еще одна статья , посвященная шву .


12
задан Community 23 May 2017 в 11:53
поделиться