私は以下の構造をmvnに持っています。親mvnモジュールからテストを実行するには?
| pom.xml (parent)
|
|
+----- module A (common classes)
| | pom.xml
| |
| \---src
| +---main
| |
| \---test
| +---junit
| |
| \---integration
|
+----- module B (web app)
| | pom.xml
| |
| \---src
| +---main
|
+----- module C (web app)
| | pom.xml
| |
| \---src
| +---main
モジュールAは、すべての後続モジュール(B、C、...)によって継承されたモジュールです。このモジュールには、共通の機能とjunit/integrationテストケースがあります。それはWebアプリケーションではありません。
モジュールBはウェブアプリです。モジュールBに依存しています。
モジュールCはWebアプリケーションです。モジュールBに依存しています。
モジュールAにはジャージの残り/ APIコードが存在します。この方法では、どのモジュールを配備しても、残りの/ apiにアクセスできます。
これまで、トップ(親)pom.xml(つまり、mvn verify)を実行すると、Tomcatインスタンスを立ち上げるために、モジュールCでMaven FailSafeプラグインを設定することができました。
しかし、モジュールCはモジュールAからの統合テストを見ることができません。私はmaven-jar-plugin(http://maven.apache.org/guides/mini/guide-attached-tests.html)の設定を試みました。モジュールAIののpom.xmlで
は持っている:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
とモジュールCIではあります
<dependency>
<groupId>groupId</groupId>
<artifactId>SCCommon</artifactId>
<type>test-jar</type>
<classifier>tests</classifier>
<version>9.1.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
誰も私が私がのModulaでこれらの統合テストを実行することができます方法を理解するのに役立つことができますA mvnがモジュールCのフェールセーフプラグインを実行しているとき。
注:統合テストは* IT.javaという名前になり、フェールセーフプラグインによって取得されます。
このプラグインを使用していても、これを行う方法はありますか?
ありがとうございます。
' **/* IT.java 'には、統合テストを行うべき別の統合テストモジュールが必要です。 –
khmarbaise