オーキンOzen:
私たちは、私はジェンキンス上で実行したいテストクラスを持っています。
私はこれが(のようなアクティブな春のプロファイルをチェックすることによって達成することができると思うjenkins
)場合や、ローカルマシン名がありますXYZ
。
問題は、私たちがジェンキンス以外のマシンでこれを実行しようとすると、アプリケーションコンテキストの読み込みに失敗した、です。
だから私は、それ自体がテストクラスの@Beforeメソッドでプロファイルまたはパラメータをチェックすることはできません。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Config.class)
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
@ActiveProfiles("clusterMongo")
public class MongoTest {
@Before
public void setupClass() {
// Ignore test if not running on white listed machines
org.junit.Assume.assumeTrue(AuthTools.isJenkins()); // wonT work !!
}
...
我々はこれを達成することができますどのように任意のアイデア?
私は多分条件付きの豆を使用することはできますか?
別名-1:
代わりに、プログラム的にそれを行うのは、宣言型のオプションがあります。
あなたは、特定のMavenのプロファイルの特定のテストをスキップする確実なプラグインを設定できます。
<profile>
<id>skip-test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/MongoTest.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
非ジェンキンスの実行には: mvn test -Pskip-test