Запуск тестов с использованием maven типа упаковки "pom"

У меня возникают проблемы с моими модульными тестами, когда мой pom установлен в тип упаковки "pom". Сначала было сказано, что для этого проекта не нужны цели, поэтому я добавил maven-surefire-plugin в свой pom.xml, чтобы привязать этап тестирования к цели тестирования maven-surefire-plugin.

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.9</version>
            <executions>
                <execution>
                    <phase>test</phase>
                    <goals>
                        <goal>test</goal>
                    </goals>
                </execution>
            </executions>
        </plugin> 

Теперь плагин surefire запускается, но он говорит, что тестов нет. Если я изменю тип упаковки на jar и запустил mvn test, то он подберет мои файлы тестов.

Когда я запускаю mvn test -X, он говорит "testSourceDirectory = C:\dev\dsl\src\test\java", который является правильным местом. Является ли место тестирования разным для типа упаковки "pom", чем для "jar"? Я попробовал добавить

            <configuration>
                <testSourceDirectory>src/test/java</testSourceDirectory>
            </configuration>

к плану surefire, но это совсем не помогло.

Ответ 1

Как прокомментировал Дейв, если вы используете упаковку pom, она выполняет только следующие жизненные цели. Обратитесь к этой связанной документации maven.

  • пакет
  • устанавливать
  • развертывание

Если вам нужно, чтобы он выполнял какую-либо другую цель, вам нужно явно указать ее. Например,

mvn clean compiler:testCompile surefire:test