1. ホーム
  2. java

[解決済み] JUnitのテスト例外について [重複] (英語)

2023-04-27 03:38:56

質問

javaは本当に初めてなんです。

私はコンストラクタでいくつかのJUnitテストを実行しています。このコンストラクタは、パラメータの1つにnullまたは空の文字列が与えられた場合、例外を投げることになっています。

JUnit でこのコンストラクタに null または空の文字列をパラメータとしてテストすると、そのようなパラメータが渡されたときにコンストラクタ メソッドが実際に例外をスローすることはほぼ 100% 確実であるにもかかわらず、赤いバーが表示されます。

JUnit では、メソッドが想定される方法で例外をスローする場合、緑のバーが表示されるはずではありませんか?それとも、例外のスローが想定された方法で動作するときに、赤いバーが表示されることになっているのでしょうか?

どのように解決するのですか?

@Test(expected = Exception.class)  

例外が発生したときに、例外が期待される結果であることをJunitに伝え、テストを通過させる(緑でマークする)。

に対して

@Test

例外が発生した場合、Junit はテストを失敗と見なします。 チェックされていない例外であれば . もし例外がチェックされていたら、コンパイルできないので他の方法を使う必要があります。 これは リンク が役に立つかもしれません。