複数のJUnitのテストクラスのテストをまとめて実行するには、テスト・スイートクラスを利用すればよい。今回は、テスト・スイートクラスのサンプルプログラムを作成してみたので、共有する。
前提条件
下記記事の実装が完了していること。
JUnitのPowerMockを利用してstaticメソッドのMock化と呼出確認をしてみたこれまでは、Mockitoを利用してインスタンスメソッドをMock化する方法について記載していたが、今回はstaticメソッドのMock...
サンプルプログラムの内容
作成したサンプルプログラムの構成は以下の通り。
なお、上記の赤枠が、今回追加したテストスイートクラスとなる。
作成したテストスイートクラスの内容は以下の通りで、@RunWithアノテーションでSuite.classを指定し、@Suite.SuiteClassesアノテーションでテスト対象クラスを指定すればよい。
1 2 3 4 5 6 7 8 9 10 11 12 13 | package com.example.demo; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ DemoServiceImplTest.class , DemoServiceImplTest2.class , DemoServiceImplTest3.class }) public class DemoServiceImplTestSuite { } |
その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/java/tree/master/junit-testsuite/demo
フリーランスエンジニアのエージェントは就業中でも無料で登録できるITエンジニアには、フリーランスという働き方がある。 フリーランスとは、会社や団体などに所属せず、仕事に応じて自由に契約する人のこ...
また、@Suite.SuiteClassesアノテーションでテスト対象クラスの実行結果は以下の通り。
さらに、作成したテストスイートクラスの実行結果は以下の通り。
上記より、DemoServiceImplTest.java、DemoServiceImplTest2.java、DemoServiceImplTest3.javaの3クラスが実行されたことが確認できる。
要点まとめ
- 複数のJUnitのテストクラスのテストをまとめて実行するには、テスト・スイートクラスを利用すればよい。
- テスト・スイートクラスでは、@RunWithアノテーションでSuite.classを指定し、@Suite.SuiteClassesアノテーションでテスト対象クラスを指定すればよい。