Выполнение тестов с maven упаковкой типа "пом" - PullRequest
13 голосов
/ 13 января 2012

У меня возникают некоторые проблемы при выполнении моих модульных тестов, когда для моего 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>

к подключаемому плагину, но это не помогло.

1 Ответ

14 голосов
/ 13 января 2012

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

  • package
  • install
  • deploy

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

mvn clean compiler:testCompile surefire:test
...