[解決済み】JUnit 5:例外がスローされたことをアサートする方法は?
2022-03-25 23:41:03
質問
JUnit 5 で、あるメソッドが例外を投げることをアサートする良い方法はありますか?
現在、テストが例外をスローすることを確認するために @Rule を使用しなければなりませんが、テスト内で複数のメソッドが例外をスローすることが予想される場合、これはうまくいきません。
どのように解決するのですか?
を使用することができます。
assertThrows()
を使えば、同じテスト内で複数の例外をテストすることができます。Java 8 でラムダがサポートされたことにより、JUnit で例外をテストする標準的な方法となりました。
により JUnitドキュメント :
import static org.junit.jupiter.api.Assertions.assertThrows;
@Test
void exceptionTesting() {
MyException thrown = assertThrows(
MyException.class,
() -> myObject.doThing(),
"Expected doThing() to throw, but it didn't"
);
assertTrue(thrown.getMessage().contains("Stuff"));
}
関連
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] Javaにおける例外処理によるパフォーマンスへの影響とは?
-
[解決済み] Mockitoで静的メソッドをモックする
-
[解決済み] JUnit Testアノテーションを使用して例外メッセージをアサートするにはどうすればよいですか?
-
[解決済み】System.out.println()のJUnitテスト)
-
[解決済み】オブジェクトが特定の型であることを保証する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] maven. -source 1.5ではラムダ式がサポートされていません。
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] Application startメソッドで例外が発生する。JavaFx 11
-
[解決済み] コレクションへの共有参照が見つかりました org.hibernate.HibernateException
-
[解決済み] 環境変数JAVA_OPTSの使い方を教えてください。
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] Apache Camelのログに簡単なテキストを記録する
-
[解決済み] Maven: assembly-pluginが全く実行されない
-
[解決済み] java swingアプリケーションでJCEがプロバイダBCを認証できない