2014-01-16 22 views
9

実行に非常に時間がかかり、通常は実行する必要がないため、@Ignoreとマークされたパフォーマンステストクラスを作成しました。 @Testのいずれかを右クリックして「実行」と言うことができるようにしたいのですが、intellijで行うと、クラスが無視されてマークされているため、テストは実行されません。Intellij-IDEAに無視されたテストを強制実行できますか?

@Ignoreを削除して誤ってファイルをコミットするのは簡単すぎるため、@Ignoreをコメントアウトしたくありません。しかし、Intellijに明示的にテストを実行するように指示すると、@Ignoreに関係なくテストが実行されるはずです。クラスのグループを実行する場合(たとえば、パッケージ内のすべて)、このテストクラスを無視したいと考えています。

Intellijでこの機能を使用することはできますか?

+1

私の意見では、@ Ignoredアノテーションを乱用することはお勧めできません。テストを別のスイートに入れて、必要なときに実行するほうがよいでしょう。最終的には(あなたのCIプラットフォーム上で)、あなたはテストがとにかく実行されることを望んでいます。 – kmera

+0

@ k-meraああ、それは興味深い考えです。私のビルドスクリプトがスキップするように設定されていることを確認する必要があるので、もっと多くの努力が必要ですが、私はそのルートをダウンする可能性があります。 –

+0

はい私はこの問題を理解しています。一度コードをコミットすると、すべてのテストでテストする必要があります。ローカルで時間がかかると開発が遅くなる可能性があります。 – kmera

答えて

5

私が見つけた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に実行を依頼してくださいそれ。

+0

これは良いトリックですが、Intellijの場合と同じように動作しません。なんらかの理由で、 'Assume.assumeTrue(false);'は、無視されるのではなくエラーを返します(ドキュメンテーションはデフォルトでそうしているようにします)(http://junit.sourceforge.net/javadoc/org/junit/Assume .html)。 –

+0

私が言ったことについて本当に奇妙なことは、あなたのリンクに別のことを言っているスクリーンショットが表示されているということです。私はそれをさらに調べ、これが私が[junit benchmarks](http://labs.carrotsearch.com/junit-benchmarks.html)を使っていることを発見しました。私は、テストランナーがあなたが望む方法を「仮定」していないと思います。 –

関連する問題