Как запустить все тестовые файлы и запустить тест с помощью плагина maven-surefire

Я создаю проект в maven. У меня есть несколько тестовых файлов, и я хочу, чтобы они выполнялись при компиляции или упаковке проекта.

Вот что я пробовал до сих пор:

  1. pom.xml выглядит так

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.12.4</version>
            <executions>
                <execution>
                    <id>test</id>
                    <goals>
                        <goal>test</goal>
                    </goals>
                    <configuration>
                        <skip>false</skip>
                        <includes>
                            <include>src/test/java/**/com.example.AllTests.java</include>
                        </includes>
                    </configuration>
                </execution>
            </executions>
            <configuration>
                <skip>false</skip>
            </configuration>
        </plugin>
    
  2. Когда я запускаю команду «mvn clean install test», запускается surefire, но она пропускает все тестовые файлы.

  3. Когда я запускаю команду «mvn clean install -Dtest=com.example.AllTests.java -DfailIfNoTests=false», тогда файл Java запускается успешно

В больших и сложных проектах я не хочу запускать несколько команд. Я хочу просто запустить одну команду, и я хочу, чтобы maven запускал тестовые файлы, генерировал отчеты о тестировании и продолжал запускать приложение.

Может ли кто-нибудь помочь мне понять, как я могу добиться этого с помощью Maven.

Спасибо за любую помощь заранее.


person Tarun    schedule 14.09.2014    source источник
comment
в пункте 1 у вас есть com.example.AllTests.java, а в пункте 3 единственное число com.example.AllTest.java   -  person myborobudur    schedule 15.09.2014
comment
о, пожалуйста, не обращайте внимания... позвольте мне отредактировать это   -  person Tarun    schedule 18.09.2014


Ответы (1)


Не включайте src/test/java/, используйте <include>com/example/AllTests.java</include>. Кстати, в случае с Surefire-плагином нет необходимости указывать блок выполнения, так как он уже вызывается как часть жизненного цикла сборки (если у вас нет редкой установки). Блока конфигурации здесь достаточно.

person Robert Scholte    schedule 14.09.2014
comment
Спасибо, Роб, я попробую это. - person Tarun; 18.09.2014