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 を使えば、例外発生テストがとてもスッキリ書けるようになります。
「テストコードの読みやすさ・保守性を高めたい」という方には必須のテクニックです。
これを取り入れるだけで、テストがより楽しく、効率的になるので試してみましょう!
