私が見つけたthis linkは、条件が偽である場合にテストを無視してマークするAssume.assumeTrueでトリッキーなことができますが、通常これは条件で使用されるシステムプロパティであるため、それはコマンドラインでパラメータとして使用されます。 IntelliJでは、コマンドラインパラメータをカスタマイズすることができますので、うまくいくはずですが、自分で試したことはありません。リンクから
例は次のとおりです。
@Test
public void shouldTryEveryPossiblePhoneticAttributeSet() throws IOException {
Assume.assumeTrue(TestEnvironment.hasBigParseSets());
...
}
public class TestEnvironment {
private static final String HAS_BIG_PARSESETS = "hasBigParseSets";
public static boolean hasBigParseSets(){
return "true".equalsIgnoreCase(System.getProperty(HAS_BIG_PARSESETS));
}
}
そして "MVNテスト" 対 "MVNテスト-P bigParseSets"。
私はちょうど単一のjunitテストを実行する方法を示すStackOverflowのthis neat threadを見つけました。 StackOverflowのポストにあるので、私はそれを引用する必要はないと仮定します。それはコマンドラインから行う方法について説明していますが、クラス名やメソッド名の値をハードコードしたものと非常によく似たことをしてから、SingleJUnitTestRunnerクラスを右クリックしてIntelliJに実行を依頼してくださいそれ。
私の意見では、@ Ignoredアノテーションを乱用することはお勧めできません。テストを別のスイートに入れて、必要なときに実行するほうがよいでしょう。最終的には(あなたのCIプラットフォーム上で)、あなたはテストがとにかく実行されることを望んでいます。 – kmera
@ k-meraああ、それは興味深い考えです。私のビルドスクリプトがスキップするように設定されていることを確認する必要があるので、もっと多くの努力が必要ですが、私はそのルートをダウンする可能性があります。 –
はい私はこの問題を理解しています。一度コードをコミットすると、すべてのテストでテストする必要があります。ローカルで時間がかかると開発が遅くなる可能性があります。 – kmera