Запуск тестов с типом упаковки Maven «POM»
-
27-10-2019 - |
Вопрос
У меня есть некоторые проблемы с запуском моих модульных тестов, когда мой 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, то он собирает мои файлы тестов.
Когда я запускаю тест MVN -x, он говорит «testsourcedirectory = c: dev dsl src test java», что является правильным местоположением. Является ли место тестирования отличным для типа упаковки «POM», чем для «JAR»? Я пытался добавить
<configuration>
<testSourceDirectory>src/test/java</testSourceDirectory>
</configuration>
К верному плагину, но это совсем не помогло.
Решение
Как прокомментировал Дейв, если вы используете pom
Упаковка, она выполняет только следующие цели жизненного цикла. Ссылаться на это Связанная документация Maven.
- упаковка
- установить
- развертывать
Если вам это нужно, чтобы выполнить любую другую цель, вам нужно явно указать ее. Например,
mvn clean compiler:testCompile surefire:test