junit4の階層化をしてみる
junit4の階層化をしてみる
junit4の階層化をして、テスト結果を見やすく、また、テストケースをカテゴライズして管理を楽にできるようにしたかった。
複数階層にすることもできるようだった。
// テストがないクラスにはEnclosedしていく @RunWith(Enclosed.class) public class SampleTest { @RunWith(Enclosed.class) public class 階層1 { // 階層化した場合、テストが含まれるクラスはstatic化 public static class 階層1_1 { @Test public void テスト1() { } @Test public void テスト2() { } } public static class 階層1_2 { @Test public void テスト1() { } } } @RunWith(Enclosed.class) public class 階層2 { public static class 階層2_2 { @Test public void テスト1() { } // パラメータテストも@Testの並びに書く @RunWith(Theories.class) public static class パラメータテストのクラス { @DataPoint public static int PARAM_1 = 1; @Theory public void パラメータテスト(int num) { } } } } }
階層かとパラメータテストを併用できないと思っていましたが、よく確認してないだけでした。
パラメータテストの書き方はこの辺参考に
JUnitにおけるパラメータ化テスト入門 - Qiita