私は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を実行しようとします。 :-(
確信しているかフェイルセーフプラグインを使用していますか? – ANIL
は私の質問に書いたようにフェイルセーフです。これは、統合テストから単体テストを「分離」することを可能にします。あなた 'pom.xml'で – Vortilion
あなたがテストを省略するために、あなたの'失敗セーフ-Plugin'をに任意の構成を行った。このような何か:? ' org.apache.maven.plugins のmaven-フェイルセーフを-plugin 2.20 <設定> 真 configuration>の ' –
ANIL