У меня есть мультимодульная настройка Maven с кодом Java.
Мои модульные тесты в одном из модулей реализуют код в нескольких модулях. Естественно, модули имеют взаимозависимости, а код во всех соответствующих модулях компилируется по мере необходимости перед выполнением теста.
Итак: как я могу получить отчет о охвате всей базы кода?
Примечание. Я не спрашиваю, как объединить результаты покрытия для тестов в нескольких модулях. Я спрашиваю, как получить покрытие для тестов в одном модуле с помощью инструментального кода из нескольких модулей. Любой, кто интересуется первым, может ссылаться на эти другие questions и рекомендации Crowne для Maven Dashboard и Sonar.
Мне удалось получить полный отчет о покрытии с использованием чистого Ant. [EDIT:] Я измерил все банки из каталога разработки во время выполнения во временный каталог; добавили временную директорию в путь к классам; затем выполнил тесты из Ant с пакетным тестом.
Ant может быть запущен из Maven, но проблема здесь заключается в бесшовной интеграции (то есть, автоматически загружая все элементы classpath и sourcepath из Maven в Ant), поэтому я не использовал средства Maven для этой цели.
Есть также другие вопросы об интеграционных тестах. Тем не менее, по умолчанию каждый отчет по проекту по умолчанию сообщает только о покрытии кода в том же проекте, тогда как мои тесты выполняют код в нескольких проектах.
Эта статья на испанском языке может иметь значение. Вот еще статья, специфичная для шва.