2016-09-13 6 views
-1

私は...TestSuite.classファイルを使用してクラスから特定の@Testメソッドを実行するには?

class one{ 

    @Test 
    method1{} 

    @Test 
    method2{} 

    @Test 
    method3{} 

} 

を以下のようなメソッドを持つクラスを持っている私は、JUnitのテストを使用しての上で実行するために、クラスの下に使用してメートル。

class runsuites{ 

    @RunWith(Suite.class) 

    @SuiteClasses({ 

     one.class 

    } 

} 

そして、これがすべて@Testメソッドを実行します。

しかし、私はmethod1method3のメソッドしか実行しません。

これをどのように達成できますか?

+0

サイドノート:それが可能であるという理由だけで。

public interface MyCategory {} 

次にカテゴリのスイートを作成し、それがであるべきテストに

class One { @Test @Category(MyCategory.class) public void method1(){} @Test public void method2(){} @Test @Category(MyCategory.class) public void method3(){} } 

をカテゴリを追加し、 @特定のテストを無視する。本当にそれをすることに注意してください。例えば、いくつかのテストが「フレーク」である場合(時折失敗する)無視してはいけません - 根本原因を見つけて修正してください。 – GhostCat

答えて

0

メソッド2に@Ignoreアノテーションを付けることができます。私はよりよい解決策はいくつかのカスタムライブラリを必要とすると思いますか(私はお勧め)テストカテゴリを設定:

read about tests categories here

+0

ありがとう、私はカテゴリーでそれを得た。 – Bala

1

はこれを見ている:Grouping JUnit tests

あなたはグループテストに@Categoryを使用することができます。最初にカテゴリインタフェースを作成します。

@RunWith(Categories.class) 
@IncludeCategory(MyCategory.class) 
@SuiteClasses({ One.class }) 
public class RunSuites {} 
+0

ありがとう、私はカテゴリーでそれを得た。 – Bala

+0

あなたの質問が答えられないと表示されないように、回答の1つを受け入れる必要があります。 – Adam

関連する問題