TestSuiteの作り方
とりあえず簡単な方法で実装。
import org.junit.runner.JUnitCore; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) // 1 @SuiteClasses( { TestA.class, TestB.class, TestC.class })// 2 public class AllTests { public static void main(String[] args) { JUnitCore.main(AllTests.class.getName());// 3 } }
- @RunWithでRunnerを指定。
- @SuiteClassesで指定したいTestクラス、若しくはTestSuiteクラスを列挙
- JUnitCore.mainにお願いする。
これでまとめてドンが出来る。クラス数が少ないうちはこれでいいでしょ。増えてきたらアプリケーションルートにAllTestsを作って、サブアプリ(もしくはパッケージ)ごとにもXxxAllTestsとか作っていけばいいんじゃないかな。そうしないと@SuiteClassesの記述が大変なことになるからな・・・・
ただ問題はこれだとTest追加したときに@SuiteClassesに追加しないといけないんだよね。そこをTest追加まで義務と考えるか、漏れた時を考慮すべきと考えるか。なかなか悩ましいとこですな。