Тестирование контента в POM для многомодульного проекта Maven - PullRequest
1 голос
/ 08 марта 2012

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

Вопросы

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

Ответы [ 2 ]

2 голосов
/ 08 марта 2012

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

Вот ссылки: родительский модуль , интеграционные тесты и один из компонентов Stanbol, который имеет собственные модульные тесты, factstore.

1 голос
/ 09 марта 2012

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

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

     <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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...