Эмма не генерирует отчеты, но cobertura делает? - PullRequest
2 голосов
/ 10 июня 2010

Основная причина поставить вопрос сравнения между этими двумя - я могу генерировать отчеты в каталоге сайта (для 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 ]

1 голос
/ 10 июня 2010

Я не могу воспроизвести вашу проблему. Я скопировал и вставил ваш фрагмент конфигурации в случайный pom.xml и выполнил любую фазу после process-classes триггеров emma:emma, и отчет о покрытии сгенерирован, как и ожидалось:

$ mvn clean process-classes
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Test Project
[INFO]    task-segment: [clean, process-classes]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting directory /home/pascal/tmp/test-project/target
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 1 source file to /home/pascal/tmp/test-project/target/classes
[INFO] Preparing emma:emma

...

EMMA: runtime coverage data merged into [/home/pascal/tmp/test-project/coverage.ec] {in 93 ms}
[INFO] [emma:emma {execution: default}]
processing input files ...
2 file(s) read and merged in 3 ms
writing [xml] report to [/home/pascal/tmp/test-project/target/site/emma/coverage.xml] ...
writing [html] report to [/home/pascal/tmp/test-project/target/site/emma/index.html] ...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------

У вас есть юнит-тесты в вашем проекте? Файл coverage.em не пустой? Что произойдет, если вы запустите emma:emma в командной строке? Дает ли вам подсказка запуск mvn с опцией -X? Можете ли вы опубликовать некоторые следы, которые будут полезны?

Как примечание, я бы не стал запускать emma:emma как часть обычной сборки лично. Я либо запускаю цель emma:emma из командной строки, либо настраиваю плагин и раздел отчетов, как предложено на странице Использование . Но это другая история, и она не отвечает на вопрос.

0 голосов
/ 10 июня 2010

это действительно странно: исправлена ​​запись плагина: см. Выходной каталог

<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.

заключение:Эмма не генерирует отчеты, когда вы добавляете любой подкаталог в $ {project.build.directory}, например, $ {project.build.directory} /emma-reports.

...