Эмма не генерирует отчеты, но cobertura делает?
Основная причина поставить вопрос сравнения между этими двумя - я могу генерировать отчеты в каталоге сайта (для cobertura
) после добавления следующего плагина в раздел сборки моего pom. Но же бы не происходило с emma
, Я проверил документацию в Codehause Mojo его почти то же самое для обоих. Моя конфигурация:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>emma</goal>
</goals>
</execution>
</executions>
</plugin>
но он не генерирует отчеты, как ожидалось, в каталоге сайта, но я вижу сгенерированный cover.em и инструменты каждый раз. мне не хватает какой-либо конфигурации?
2 ответа
Это действительно странно: исправлена запись о плагине: см. выходной каталог
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<inherited>true</inherited>
<executions>
<execution>
<id>emma</id>
<phase>process-classes</phase>
<goals>
<goal>emma</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>${project.build.directory}</outputDirectory>
</configuration>
</plugin>
Эмма даже не принимает ${project.build.directory}/emma.
Вывод: emma не генерирует отчеты, когда вы добавляете любой подкаталог в $ {project.build.directory}, например, ${project.build.directory}/emma-reports.
Я не могу воспроизвести вашу проблему. Я скопировал и вставил ваш фрагмент конфигурации в случайный pom.xml
и работает любая фаза позади process-classes
триггеры emma:emma
и отчет о покрытии генерируется как ожидалось:
$ mvn clean-классы процессов [INFO] Сканирование проектов... [ИНФОРМАЦИЯ] ----------------------------------------------- ------------------------- [INFO] Строительный тестовый проект [INFO] Task-сегмент: [чистый, процесс-классы] [ИНФОРМАЦИЯ] ----------------------------------------------- ------------------------- [INFO] [clean:clean {выполнение: default-clean}] [INFO] Удаление каталога /home/pascal/tmp/test-project/target [ИНФО] [ресурсы: ресурсы {выполнение: ресурсы по умолчанию}] [INFO] Использование кодировки UTF-8 для копирования отфильтрованных ресурсов. [INFO] Копирование 1 ресурса [INFO] [компилятор: компиляция {выполнение: компиляция по умолчанию}] [INFO] Компиляция 1 исходного файла в /home/pascal/tmp/test-project/target/classes [INFO] Подготовка Эммы: Эмма ... EMMA: данные покрытия во время выполнения объединяются в [/home/pascal/tmp/test-project/coverage.ec] {за 93 мс} [INFO] [emma:emma {выполнение: по умолчанию}] обработка входных файлов... 2 файл (ов) прочитан и объединен за 3 мс запись отчета [xml] в [/home/pascal/tmp/test-project/target/site/emma/coverage.xml] ... запись отчета [html] в [/home/pascal/tmp/test-project/target/site/emma/index.html] ... [ИНФОРМАЦИЯ] ----------------------------------------------- ------------------------- [INFO] СТРОИТЬ УСПЕШНО [ИНФОРМАЦИЯ] ----------------------------------------------- -------------------------
У вас есть модульные тесты в вашем проекте? Это coverage.em
файл не пустой? Что произойдет, если вы запустите emma:emma
в командной строке? Работает мвн с -X
вариант подскажет? Можете ли вы опубликовать некоторые следы, которые будут полезны?
Как примечание, я не буду бежать emma:emma
как часть обычной сборки лично. Я бы либо запустить emma:emma
Цель из командной строки или настроить плагин и раздел отчетов, как предложено на странице использования. Но это другая история и не отвечает на вопрос.