2

多くのモデルを含む XML ファイルがあります。この XML ファイルをテスト スイートで解析し、各モデルを読み取ります。モデルごとに、特定のテスト ケースのリストを実行したいと考えています。

つまり、テスト スイートの FOR ループ内で、テスト ケースを動的に追加する必要があります。


public static TestSuite suite() {
TestSuite suite = new TestSuite();
for(condtion){
    if(model1){
         suite.addTest(new JUnit4TestAdapter(TestCase1.class));
         suite.addTest(new JUnit4TestAdapter(TestCase2.class));
     }
     elseif(model2){
         suite.addTest(new JUnit4TestAdapter(TestCase3.class));
         suite.addTest(new JUnit4TestAdapter(TestCase4.class));
     }
  }
return suite;
}

ただし、このシナリオでは、XML の最後のモデルのテスト ケースのみが実行されます。テスト ケースを動的に追加してすべてのモデルに対して実行するわけではありません。

それから私は

JUnitCore.runClasses(TestScoopixModelLoader.class);

for ループ内。このシナリオでは、テスト ケースが動的に実行されます。しかし、私は日食でその視覚効果を得ていません(つまり、成功の場合は緑のバー、失敗の場合は赤のバー)。この視覚効果は Junit TEST RUNNER CLASS では機能しません

誰かがこの種の問題に直面している場合は、解決策を提案してください。

4

1 に答える 1

0

独自のリスナーを追加し、結果を出力させます (テキストファイル、sysout など)。

JUnitCore jCore = new JUnitCore();
jCore.addListener(new CustomListener()) 
JUnitCore.runClasses(TestScoopixModelLoader.class);


 public class CustomListener extends RunListener {
    public void testFailure(Failure failure) {
       System.out.println(failure);
    }

// Rest of the listener methods

 }

リスナー API: http://junit.sourceforge.net/javadoc/org/junit/runner/notification/RunListener.html

于 2013-03-29T09:59:57.573 に答える