Тестирование содержимого в POM для многомодульного проекта Maven

Я прочитал здесь о модульном тестировании с подключаемым модулем Surefire и интеграции тестирование с помощью плагина Failsafe, но мне все еще неясно, как POM должны выглядеть в проекте Maven, который состоит из родительского и нескольких дочерних модулей, каждый со своим собственным файлом POM.

Вопросы:

  • Кто-нибудь реализовывал интеграционные тесты и модульные тесты в каждом из своих модулей?
  • Если да, не могли бы вы показать свои POM, чтобы у меня был пример хорошей рабочей конфигурации?

person CFL_Jeff    schedule 08.03.2012    source источник


Ответы (2)


См. мой ответ на вопрос: Как я могу переключаться между двумя наборами тестов в Maven 2? Я предпочитаю модуль maven - его очень легко реализовать, и вам не нужны знания о других плагинах.

Если вы используете testng, вы можете просто определить в родительском pom (только одно место):

     <profile>
                    <id>normal</id>
                    <activation>
                            <activeByDefault>true</activeByDefault>
                    </activation>
                    <build>
                            <plugins>
                                    <plugin>
                                            <groupId>org.apache.maven.plugins</groupId>
                                            <artifactId>maven-surefire-plugin</artifactId>
                                            <configuration>
                                                    <excludedGroups>integration</excludedGroups>
                                            </configuration>
                                    </plugin>
                            </plugins>
                    </build>
            </profile>
<profile>
                    <id>integration</id>

                    <build>
                            <plugins>
                                    <plugin>
                                            <groupId>org.apache.maven.plugins</groupId>
                                            <artifactId>maven-surefire-plugin</artifactId>
                                            <configuration>
                                                    <includedGroups>integration</includedGroups>
                                            </configuration>
                                    </plugin>
                            </plugins>
                    </build>
            </profile>

Аннотируйте все интеграционные тесты следующим образом:

@Test(groups="integration")

Если вы используете junit, см. Категорию

Вы запускаете обычный тест: mvn clean install интеграционные тесты от mvn -Pintegration clean install

person Andrzej Jozwik    schedule 08.03.2012

Проект Apache Stanbol использует плагин surefire для модульных и интеграционных тестов. Это может быть хорошим примером для вас.

Вот ссылки: родительский модуль, < href="http://svn.apache.org/repos/asf/incubator/stanbol/trunk/integration-tests/pom.xml" rel="nofollow">интеграционные тесты и один из компонентов Stanbol, который имеет свои собственные модульные тесты, factstore< /а>.

person suat    schedule 08.03.2012