TestCaseからTestSuiteに拡張されないJUnit 4テストを追加する方法は?

StackOverflow https://stackoverflow.com/questions/211487

  •  03-07-2019
  •  | 
  •  

質問

JUnit 3では、単に呼び出しました

suite.addTestSuite( MyTest.class )

ただし、MyTestがTestCaseを拡張しないJUnit 4テストである場合、これは機能しません。代わりにテストスイートを作成するにはどうすればよいですか?

役に立ちましたか?

解決

新しいv4スタイルと共存する必要がある3.8スタイルスイート/テストの大規模なセットを使用する場合は、以下を実行できます。

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
  // Add a JUnit 3 suite
  CalculatorSuite.class,
  // JUnit 4 style tests
  TestCalculatorAddition.class,
  TestCalculatorDivision.class
})
public class CalculatorSuite {
    // A traditional JUnit 3 suite
    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTestSuite(TestCalculatorSubtraction.class);
        return suite;
    }
}

他のヒント

自分で答えを見つけた:こちら

そのように:

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
  TestCalculatorAddition.class,
  TestCalculatorSubtraction.class,
  TestCalculatorMultiplication.class,
  TestCalculatorDivision.class
})
public class CalculatorSuite {
    // the class remains completely empty, 
    // being used only as a holder for the above annotations
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top