1. assertThrowsとは?
JUnit5で例外をテストする際に便利なのが assertThrows
です。
従来は try-catch
を使って例外を検証していましたが、コードが冗長になりがちでした。JUnit5から追加された assertThrows
を使うと、例外発生をシンプルにテストできます。
2. 旧来のtry-catch方式との比較
JUnit4までの書き方は以下のようになります。
fail
を入れたり、catchブロック内で assertEquals
を書く必要があり、テストコードが長くなっていました。assertThrows
を使えば、これを 1行でシンプルに記述可能 です。
3. 例外メッセージの検証
assertThrows
は戻り値として発生した例外オブジェクトを返すため、メッセージや詳細を検証することも可能です。@Test
4. 複数の例外クラスに対応
もし異なる種類の例外が発生する可能性がある場合、複数の assertThrows
を組み合わせてテストできます。
5. assertThrowsを使うメリットまとめ
-
コードがシンプル:try-catchやfailを省略できる
-
例外メッセージの検証が容易
-
複数パターンの例外を簡潔に記述可能
-
可読性が向上し、保守性もアップ
まとめ
JUnit5の assertThrows
を使えば、例外発生テストがとてもスッキリ書けるようになります。
「テストコードの読みやすさ・保守性を高めたい」という方には必須のテクニックです。
これを取り入れるだけで、テストがより楽しく、効率的になるので試してみましょう!