2016-06-17 4 views
0

例として、私たちのユースケースでは、JUnitテストを実行する必要がありますテストスイートで、スキップされることはありません。Junit - テストを複数回(異なるスイートに)追加した場合でも、テストを一度だけ実行するデフォルトの動作をオーバーライドします。

現在、JUnitテストランナーは、テストスイート内のどこかでテストが見つかると、同じ名前のテストをスキップします。ここで「Procedure_Aは、」テスト・スイートの中にスキップされている内テスト「Case_A」を示すための例のスクリーンショットです -

enter image description here

ので、誰かが正しい方向に私たちを指すことができれば、この動作は、オーバーライドされていませんか?

+0

これはEclipseの問題ではないと思いますか?これはmaven/surefire(例: –

+0

)で動作します。記述したものを再現するためのコードを投稿できますか? –

答えて

0

私はこの問題を調査しました。

簡単設定 - 1つのテスト "TestCase_A" と二回TestCase_Aを走る1つのスイート "TestProcedure_A":

public class TestCase_A { 

@Test 
public void test() throws Exception { 
    System.out.println("Case_A RUN"); 
    Assert.assertTrue(true); 
    } 
} 

@RunWith(Suite.class) 
@Suite.SuiteClasses({ TestCase_A.class, TestCase_A.class }) 
@SuppressWarnings("all") 
public class TestProcedure_A { 
} 

私はEclipseとMavenを使用してテストスイートを実行します。 Finding:実際には、TestCase_Aが2回実行されることを示すsysoutステートメントがあります。

したがって、Eclispeビューは誤解を招きます。テストは複数回実行されます。ツリーにもこれが反映されます。ただし、Eclispe Junit Viewでは、実際の単一通話のステータスは正しく表示されません。

私はビューがjunit.runner.TestRunListenerに基づいていると仮定します。おそらくそれを調べる価値があります。

+0

誰かがJDTに重複テストをフィルタリングさせると便利だとわかった人もいます:https://bugs.eclipse.org/bugs/show_bug.cgi?id=341778 –

関連する問題