私のJava(Maven)Webプロジェクトには、Jenkinsの自動GUIテスト用の組み込みTomcat 7サーバーとSeleniumを使用した「通常の」単体テストと統合テストの2種類のテストがあります。 。すべてのテストにはJUnitの@Test
という注釈が付けられ、通常テストは "Test.java"で終了し、統合テストは "IntegrationTest.java"で終わります。JUnit 4でEclipse IDEの統合テストを除外する
pom.xml
の関連部分は、それに応じて次のようになりながら、私は通常、
mvn clean verify
と私のプロジェクトをビルドするのsrc /テスト/ javaの
に位置しています
<!-- For front-end testing -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>UTF-8</uriEncoding>
<additionalConfigFilesDir>${basedir}/conf</additionalConfigFilesDir>
<contextFile>${basedir}/src/test/resources/context.xml</contextFile>
</configuration>
<executions>
<execution>
<id>start-tomcat</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-war-only</goal>
</goals>
<configuration>
<fork>true</fork>
<port>9090</port>
</configuration>
</execution>
<execution>
<id>stop-tomcat</id>
<phase>post-integration-test</phase>
<goals>
<goal>shutdown</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<excludes>
<exclude>**/*IntegrationTest*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.16</version>
<configuration>
<includes>
<include>**/*IntegrationTest*</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
このプロシージャは正常に動作しますが、通常は自分のプロジェクトを右クリックするとEclipseを使用してテストを実行します.JAnitテストとして実行します。このオプションを選択すると、すべてのテスト(統合テストを含む)が実行されます。この場合、Tomcatは実行されていないため、統合テストは失敗します(これはMavenのpre-integration-test
フェーズでのみ開始されます)。
JUnitプラグインを使用してEclipseでこれらのテストを除外するにはどうすればよいですか?
AFAIKできません。 –