背景
JUnit5のアサーションは、あまり迷うことがないと思いますが、
例外の検証、エラーにする方法は、パッと出てこないシーンもあると思いますので、
メモを残しておきます。
アサーション
assertEquals(expected, actual)
- 結果が期待した値と同じか検証する
- 第1引数が期待値
assertTrue(actual)
- 結果がTrueであることを検証する
assertFalse(actula)
- 結果がFalseであることを検証する
assertAll("名前", アサーション...)
- JUnitでは、テストメソッドのアサーションでNGがあった場合、その時点でテストを打ち切るが、
複数の検証がある場合にNGがあっても、テスト内の検証をすべて実施したい場合にassertAll
を使用する - 例
assertAll("TestAll", () -> assertEquals(12, calculator.multiply(3, 4)), () -> assertEquals(15, calculator.multiply(3, 5)), () -> assertEquals(18, calculator.multiply(3, 6)), () -> assertEquals(20, calculator.multiply(3, 7)) );
fail
- テストを強制的にNGにする
Assertions.assertThrows
- 例外の検証に使用する
- 例:
calculator.divide
がIllegalArgumentExceptionをスローすることを確認する
Assertions.assertThrows(IllegalArgumentException.class, () -> {calculator.divide(3, 0);});
所感
アサーションに関しては、上記を押さえておけば問題ないかなと思います。