事前準備(JUnit5)
※Mavenでの設定
※java8以上のバージョンが必要
pomに下記を追加する
他のspringのライブラリとバージョンを合わせるため${org.springframework-version}と記載
<dependencies> ~~~~~~~~~~~~~~~~~ <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${org.springframework-version}</version> <scope>test</scope> </dependency> <!-- Test --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.8.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.8.2</version> <scope>test</scope> </dependency> ~~~~~~~~~~~~~~~~~ </dependencies>
テストクラスの作成方法
テストしたいクラスを右クリックして新規>その他を選択
testフォルダにクラスが作成される
import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; class OfferServiceTest { @Test void testAdd() { fail("まだ実装されていません"); } }
テストコードの記述(JUnit5)
DIする場合は@SpringJUnitWebConfig(classes = クラス名.class)または
@ExtendWith(SpringExtension.class)と@ContextConfiguration(classes = クラス名.class)をつける
@SpringJUnitWebConfig(classes = OfferService.class) //下記でも可能 //@ExtendWith(SpringExtension.class) //@ContextConfiguration(classes = OfferService.class) class OfferServiceTest { @Autowired OfferService service; @Test void testAdd() { // 期待値 int expected = 3; // 試験実施 int actual = service.add(1, 2); // 検証結果 assertEquals(expected, actual); } }
アサーションの種類(JUnit5)
assertEquals | 2 つの値が等しいかどうかをテスト |
assertTrue | 引数の値が true かどうかをテスト |
assertFalse | 引数の値が false かどうかをテスト |
assertNull | 引数の値が null かどうかをテスト |
assertNotNull | 引数の値が null でないかどうかをテスト |
assertSame | 2 つの参照が同じインスタンスかどうかをテスト |
assertNotSame | 2 つの参照が異なるインスタンスかどうかをテスト |
assertArrayEquals | 2 つの配列が等しいかどうかをテスト |
assertThrows | 指定した関数が例外をスローするかどうかをテスト |
assertNotEquals | 2 つの値が等しくないかどうかをテスト |
assertThat | 値が指定された条件を満たすかどうかを確認 |
assertThrows | 例外がスローされるかどうかを確認 |
assertDoesNotThrow | 例外がスローされないかどうかを確認 |
assertTimeout | 指定された時間内に実行が終了するかどうかを確認 |
assertTimeoutPreemptively | 指定された時間内に実行が終了するかどうかを確認 |
assertLinesMatch | 2つの文字列が一致するかどうかを確認 |
assertAll | 複数のアサーションをまとめて確認 |