2017-08-24 14 views
0

私はmavenのマルチモジュールプロジェクトを持っています。そして1つのモジュールに対して統合テストを使用しています。ローカルデータベースです。私たちはJenkinsを使用しています。もちろん、必要なデータベースのためにITをJenkins上で実行したくありません。 maven-failsafeとオプション「-DskipITs」を使用するソリューションが見つかりました。魅力的なように働いて、私はITをコミットすることができ、ITを実行することについてジェンキンスが不平を言うことを心配する必要はありません。しかし、その後、私は1でそれらすべてを実行するためにすべての私のITはのためのテストスイートを作成しました:ジェンキンスは-DskipITsにもかかわらずフェイルセーフ統合テストを実行します

package mypackage; 

import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 

@RunWith(Suite.class) 

@Suite.SuiteClasses({ 
    AccountManagerImportServiceIT.class, 
    AccountManagerToClientImportServiceIT.class, 
    ClientImportServiceIT.class, 
    ContactPersonImportServiceIT.class, 
    InvoiceImportServiceIT.class, 
    MeteringPointImportServiceIT.class, 
    MeteringPointToRoleImportServiceIT.class, 
    RoleImportServiceIT.class, 
    WhitelistImportServiceIT.class 
}) 

public class TestSuiteIT { 
} 

今では、ジェンキンスさんはテストスイートのためのフェイルセーフを無視し、もちろんビルドを不安定にされ、それを実行しようとしているようです。私はJenkinsにTestSuiteも無視するように指示するために何をすべきか分かりません!奇妙なことです:ローカルシステム上で "mvn clean install -DskipITs"(Jenkinsが実行するコマンドと同じ)を実行すると動作します。しかし、ジェンキンスは常にTestSuiteを実行しようとします。 :-(

+0

確信しているかフェイルセーフプラグインを使用していますか? – ANIL

+0

は私の質問に書いたようにフェイルセーフです。これは、統合テストから単体テストを「分離」することを可能にします。あなた 'pom.xml'で – Vortilion

+0

あなたがテストを省略するために、あなたの'失敗セーフ-Plugin'をに任意の構成を行った。このような何か:? ' org.apache.maven.plugins のmaven-フェイルセーフを-plugin 2.20 <設定> ' – ANIL

答えて

0

あなたpom.xmlpropertiesセクションに<skipTests>false</skipTests>を追加することができます。

次にpluginsセクションにmaven-failsafe-pluginを見つけ、skipTests設定を使用しています。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>x.xx</version> 
      <configuration> 
       <skipITs>${skipTests}</skipITs> 
      </configuration> 
</plugin> 

をデフォルトでテストが有効になりますあなたがテストをスキップしたい場合は、mvn install -DskipTests=true

+0

これはすべてのテストをスキップしますが、私はJenkinsにIntegrationTestを実行させたくありません。 UnitTestsはまだ実行されるべきです! – Vortilion

+0

正規表現を使用してユニットテストを除外することができます:http://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html – ANIL

+0

ユニットテストを除外したくありません。私はIntegrationTestsを除外したいが、JENKINSのみにする。 – Vortilion

関連する問題