Эмма не генерирует отчеты, но 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 Цель из командной строки или настроить плагин и раздел отчетов, как предложено на странице использования. Но это другая история и не отвечает на вопрос.

Другие вопросы по тегам