[解決済み] JUnit Testアノテーションを使用して例外メッセージをアサートするにはどうすればよいですか?
2022-03-15 16:09:39
質問
いくつかの JUnit テストを作成しました。
@Test
アノテーションを使用しています。テストメソッドがチェックされた例外をスローし、例外と一緒にメッセージもアサートしたい場合、JUnitの
@Test
アノテーションを使用することはできますか?JUnit 4.7ではこの機能は提供されていませんが、今後のバージョンでは提供されるのでしょうか?.NETでは、メッセージと例外クラスをアサートできることは知っています。Javaの世界で同様の機能を探しています。
これが私の欲しいものです。
@Test (expected = RuntimeException.class, message = "Employee ID is null")
public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() {}
解決方法は?
を使用することができます。
@Rule
アノテーションを
ExpectedException
というように。
@Rule
public ExpectedException expectedEx = ExpectedException.none();
@Test
public void shouldThrowRuntimeExceptionWhenEmployeeIDisNull() throws Exception {
expectedEx.expect(RuntimeException.class);
expectedEx.expectMessage("Employee ID is null");
// do something that should throw the exception...
System.out.println("=======Starting Exception process=======");
throw new NullPointerException("Employee ID is null");
}
の例では
ExpectedException
パブリックなコンストラクタがないのですから、そのような場合は
ExpectedException.none()
.
関連
-
java.util.NoSuchElementException 原因解析と解決方法
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
エラーの解決方法 jarfile XXX.jarにアクセスできません。
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み】JUnit 5:例外がスローされたことをアサートする方法は?
-
[解決済み】Assert.Throwsを使って、例外の型をアサーションするには?
-
[解決済み] JUnitの混乱:'extends TestCase'を使うか'@Test'を使うか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
IllegalArgumentException この例外を解決する方法
-
Eclipseで "XXXX "の解決策を(型に)解決することができない
-
javaの模造品QQ WeChatのチャットルーム
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 4 at text.Division.main(Divisi
-
Java コンパイルエラー - スレッド "main" で例外 java.lang.Error: 未解決のコンパイル問題です。
-
javaでよく使われる英単語
-
HttpClientがGZIP形式でない場合の対処法
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res
-
JSPで「リストが型解決できない!」の解決方法