Как использовать mvn test с несколькими модулями? - PullRequest
0 голосов
/ 22 февраля 2011

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

Я обнаружил магию test-jar , которая позволиламне скомпилировать мою программу, но я все еще не могу запустить тесты с mvn test.

Как ни странно, пакетные тесты mvn, похоже, работают.

Вот моя основная конфигурация:

 ...
 <parent>
   <groupId>com.acme.parent</groupId>
   <artifactId>parent</artifactId>
   <relativePath>../pom.xml</relativePath>
   <version>1.0</version>
 </parent>
 <groupId>com.acme</groupId>
 <artifactId>A</artifactId>     
 <packaging>jar</packaging>
 <version>1.0</version>
 ...

 <build>
   <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-jar-plugin</artifactId>
       <executions>
        <execution>
          <goals>
            <goal>test-jar</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

Project AB (зависит от A)

...
<parent>
  <groupId>com.acme.parent</groupId>
  <artifactId>parent</artifactId>
  <relativePath>../pom.xml</relativePath>
  <version>1.0</version>
</parent>
<artifactId>AB</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<dependency>
  <groupId>com.acme</groupId>
  <artifactId>A</artifact>
  <version>1.0</version>
</dependency>
<dependency>
  <groupId>com.acme</groupId>
  <artifactId>A</artifact>
  <version>1.0</version>
  <type>test-jar</type>
  <scope>test</scope>
</dependency>
...

И, наконец, соответствующие биты из родительского pom:

...
<groupId>com.acme.parent</groupId>
<artifactId>parent</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<modules>
  <module>A</module>
  <module>AB</module>
</module>
...

Итак, со всем, что сказано, как мне сделать mvnтесты запускаются как положено?

Кстати, я использую maven 2.2.1.

1 Ответ

0 голосов
/ 23 февраля 2011

Это может быть связано с одной из неразрешенных ошибок, таких как MNG-3559 .

По сути, тестовые классы проекта A не видны для Project AB, если из родительского модуля запускается только mvn test. Они видны после создания банки для пакета A (на этапе package).

...