[解決済み] JUnit4 fail()が来たけどpass()はどこ?
2023-04-25 19:14:18
質問
ある
fail()
というメソッドがJUnit4ライブラリにあります。私はこれを気に入っているのですが
pass()
メソッドがありません。なぜでしょうか?
私は
assertTrue(true)
を使うことができることがわかりましたが、まだ非論理的なようです。
@Test
public void testSetterForeignWord(){
try {
card.setForeignWord("");
fail();
} catch (IncorrectArgumentForSetter ex){
}
// assertTrue(true);
}
どのように解決するのですか?
テストが例外を投げない限り、テストは成功します。
@Test
アノテーションが期待される例外を指定しない限り、テストは通過します。私が思うに
pass()
が常に通過したとみなす特別な例外を投げて、 テストを短絡させることもできますが、それでは通常のテストの設計 (成功を仮定してアサーションが失敗したときだけ失敗する) に反してしまいますし、 もし人々が
pass()
を使うのが望ましいという考えが広まれば、 (例外を生成するためのオーバーヘッドにより) 大きなテスト群の速度が著しく低下してしまうことでしょう。失敗するテストが普通であってはならないので、そのオーバーヘッドがあることは大したことではありません。
あなたの例はこのように書き換えることができることに注意してください。
@Test(expected=IncorrectArgumentForSetter.class)
public void testSetterForeignWord("") throws Exception {
card.setForeignWord("");
}
また、標準的なJavaの例外を使用することを支持すべきです。あなたの
IncorrectArgumentForSetter
は、おそらく
IllegalArgumentException
.
関連
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
Junitのユニットテストはjava.lang.Testを報告します。
-
ジャバアレイ
-
JNIエンカウンターエラー:構造体またはユニオンではない何かでメンバー 'FindClass' のリクエスト
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
java 365*1000*60*60*24 計算問題
-
[解決済み] Selenium WebDriverを使用して要素が存在するかどうかをテストしますか?
-
[解決済み] 整数の平方根が整数であるかどうかを判断する最速の方法
-
[解決済み] なぜJava 8のOptionalは引数で使ってはいけないのか
-
[解決済み] JUnit4でテストメソッドを特定の順序で実行するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
NullPointerException - java.lang.
-
executeQuery()でデータ操作文が発行できない。解決方法
-
型に解決できない エラー解決
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
Junitのユニットテストはjava.lang.Testを報告します。
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
配列定数は初期化子でのみ使用可能です。
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。