Как исключить / игнорировать классы / пакеты от инструментирования плагином maven-emma?

1

Я работаю над проектом java/spring/hibernate/Maven. У меня есть некоторые модульные тесты, и я настроил emma pulign для отчета о покрытии кода. Я добавил "emma-maven-plugin" для создания отчета о покрытии кода в файле POM.xml.

<!-- Emma profile -->
    <profile>
        <id>EMMA</id>
        <activation>
            <activeByDefault>false</activeByDefault>
        </activation>
        <build>
            <finalName>BuildForEmma</finalName>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>emma-maven-plugin</artifactId>
                        <version>1.0-alpha-3</version>
                        <configuration>
                            <inherited>true</inherited>
                            <forkMode>once</forkMode>
                            <reportFormat>xml</reportFormat>
                            <classesDirectory>${project.build.directory}/generated-classes/emma/classes</classesDirectory>
                            </configuration>
                        <executions>
                            <execution>
                                <phase>process-classes</phase>
                                <goals>
                                    <goal>emma</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </profile>
</profiles>

Когда я запускаю команду как "mvn clean install emma: emma". Код emma-отчета об охвате кода успешно создан. Но в отчете о покрытии кода есть много классов и пакетов, которые не рассматриваются в моем тестовом примере, поэтому мне нужно исключить и игнорировать эти пакеты/классы для улучшения результатов покрытия кода.

Для этого я попытался добавить эту запись в emma puling.

<instrumentation>
<ignores>
<ignore>com.exam.generated.ceq.*</ignore>
<ignore>com.exam.activities.*</ignore>
<ignore>com.exam.activities.cdr.generated.*</ignore>
<ignore>com.exam.admin.*</ignore>
</ignores>
</instrumentation> 

Но это не работает, я также проверил многих относительно ссылки, но не смог добиться успеха. Любая помощь будет оценена. Благодарю.

Теги:
maven
spring
hibernate

1 ответ

1
Лучший ответ

Вы можете добавить список исключений в конфигурацию плагина:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>emma-maven-plugin</artifactId>
    <version>1.0-alpha-3</version>
    <configuration>
        <inherited>true</inherited>
        <forkMode>once</forkMode>
        <reportFormat>xml</reportFormat>
        <classesDirectory>${project.build.directory}/generated-classes/emma/classes</classesDirectory>
        <!-- Exclusion configuration -->
        <filters>
            <filter>                                     
                <excludes>**/com.exam.generated.ceq.**</excludes>
                <excludes>**/com.exam.activities.**</excludes>
                <excludes>**/com.exam.activities.cdr.generated.**</excludes>
                <excludes>**/com.exam.admin.**</excludes>
            </filter>
         </filters>
    </configuration>
    <executions>
        <execution>
            <phase>process-classes</phase>
            <goals>
                <goal>emma</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  • 0
    Спасибо за ответ. Mureinik Мне нужна дополнительная помощь с вашей стороны. Есть ли у вас ссылки, которые определяют путь к каталогу? На самом деле я сталкиваюсь с проблемой создания шаблона. <Exclude> $ {project.build.directory} / генерируемые классы / emma / classes / com / экзамен / тест / созданные / vits / *. Class </ exclude>
  • 0
    @Дани, как насчет <excludes>**/generated-classes/**</excludes> ?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню