JUnit 4 ExpectedException.expectMessageはテストに失敗するはずですが、失敗しません

SockworkOrange

私は次のクラスを持っています:

public class MyClassTest {
@Rule
public ExpectedException thrown = ExpectedException.none();

@Test
public void testMyMethod() throws Exception {
    // Test 1
    String[] args = ...;
    MyClass.myMethod(args);

    // Test 2
    thrown.expect(InvalidParamException.class);
    thrown.expectMessage("exceptionString 1");
    args = ...;
    MyClass.myMethod(args);

    // test 3
    thrown.expect(InvalidParamException.class);
    thrown.expectMessage("exceptionString 2");
    args = ...;
    MyClass.myMethod(args);
}

問題は、テスト2のexpectMessageがfalseであるということです。説明のために、実際の期待されるメッセージはexceptionString 3ですが、期待されるメッセージは実際のメッセージとは異なりますが、テストは失敗しません。それはもっと奇妙になります-expectMessageに「fdsfsdfsdfsdfsdfsdthe」のような意味不明なメッセージを提供すると、テストは失敗します:

java.lang.AssertionError:予期される:( InvalidParamExceptionのインスタンスと、「fdsfsdfsdfsdfsdfsdthe」を含む文字列のメッセージを含む例外)が、「fdsfsdfsdfsdfsdfsdthe」メッセージを含む文字列のメッセージの例外は「exceptionMessage3」でした

これは予想される動作ですが、exceptionMessage3を少しだけ変更すると、空の文字列を送信しても、テストはまったく失敗しません。

私は何かが足りないのですか?

アンディターナー

ExpectedException 予想される例外は1つだけです。

このように再利用することはできません。どちらか:

  1. テストケースを3つの別々のテストケースに分割します。
  2. 3つのExpectedExceptionインスタンスがあります。
  3. プレーンオールドを使用try/ catch;
  4. 最近十分なバージョンのJava(8+)とそれをサポートするJUnitを使用している場合は、assertThrows(またはexpectThrows)を使用します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

junit ExpectedExceptionを使用する方法?

分類Dev

JUnit4テストに失敗した場合に `groovy`コマンドをゼロ以外に終了させるにはどうすればよいですか?

分類Dev

カスタム「ExpectedException」junitルールを作成する方法は?

分類Dev

JUnit 4.13で非推奨のExpectedException.none()の代替

分類Dev

JUnit5-ExpectedException.expectCause()と同等

分類Dev

JUnit4テストの失敗を理解していますか?

分類Dev

Spring DataNeo4jがjunitテストのセットアップに失敗する

分類Dev

AndroidStudioはAndroidJUnit4.classを見つけることができません+テストは失敗します

分類Dev

Junit4でSpring-retry式が失敗する

分類Dev

JUnit Spring 4 MVC統合テストがBeanCreationExceptionで失敗する:Beanの作成エラー

分類Dev

JUnit例外テストが失敗する(予期せず)

分類Dev

junit(Eclipse)テストは失敗も合格もしません

分類Dev

JUnitテストの例外が常に失敗するのはなぜですか?

分類Dev

スローされた場合、JUnit ExpectedExceptionの後にテストを続行するにはどうすればよいですか?

分類Dev

アサートの1つが失敗した場合でもjunit4でテスト実行を継続する

分類Dev

失敗せずに@BeforeメソッドでJUnitテストを停止する

分類Dev

JUnitでスローされるExpectedExceptionのチェックを管理するルール

分類Dev

失敗したJUnitテストをすぐに再実行する方法は?

分類Dev

例外がスローされてもExpectedExceptionをテストする単体テストが失敗する

分類Dev

JUnitテストはEclipseで実行すると機能しますが、Antでランダムに失敗することがあります

分類Dev

KotlinでExpectedExceptionを使用する

分類Dev

Eclipseが失敗するまでJUnitテストを複数回実行する方法はありますか?

分類Dev

JUnitテストはEclipseで実行されますが、「gradle test」で失敗します

分類Dev

ExpectedExceptionまたは@Test(expected =

分類Dev

ivyを使用したant1.9のjunitタスクがjunit.framework.AssertionFailedErrorで失敗する:テストが見つかりません

分類Dev

カスタム Java 例外が JUnit テストに失敗する

分類Dev

コードがIllegalArgumentExceptionのJUnitテストに失敗するのはなぜですか?

分類Dev

JUnit5で失敗したテストを管理する方法

分類Dev

SurefireはJUnit 4テストを採用していません

Related 関連記事

  1. 1

    junit ExpectedExceptionを使用する方法?

  2. 2

    JUnit4テストに失敗した場合に `groovy`コマンドをゼロ以外に終了させるにはどうすればよいですか?

  3. 3

    カスタム「ExpectedException」junitルールを作成する方法は?

  4. 4

    JUnit 4.13で非推奨のExpectedException.none()の代替

  5. 5

    JUnit5-ExpectedException.expectCause()と同等

  6. 6

    JUnit4テストの失敗を理解していますか?

  7. 7

    Spring DataNeo4jがjunitテストのセットアップに失敗する

  8. 8

    AndroidStudioはAndroidJUnit4.classを見つけることができません+テストは失敗します

  9. 9

    Junit4でSpring-retry式が失敗する

  10. 10

    JUnit Spring 4 MVC統合テストがBeanCreationExceptionで失敗する:Beanの作成エラー

  11. 11

    JUnit例外テストが失敗する(予期せず)

  12. 12

    junit(Eclipse)テストは失敗も合格もしません

  13. 13

    JUnitテストの例外が常に失敗するのはなぜですか?

  14. 14

    スローされた場合、JUnit ExpectedExceptionの後にテストを続行するにはどうすればよいですか?

  15. 15

    アサートの1つが失敗した場合でもjunit4でテスト実行を継続する

  16. 16

    失敗せずに@BeforeメソッドでJUnitテストを停止する

  17. 17

    JUnitでスローされるExpectedExceptionのチェックを管理するルール

  18. 18

    失敗したJUnitテストをすぐに再実行する方法は?

  19. 19

    例外がスローされてもExpectedExceptionをテストする単体テストが失敗する

  20. 20

    JUnitテストはEclipseで実行すると機能しますが、Antでランダムに失敗することがあります

  21. 21

    KotlinでExpectedExceptionを使用する

  22. 22

    Eclipseが失敗するまでJUnitテストを複数回実行する方法はありますか?

  23. 23

    JUnitテストはEclipseで実行されますが、「gradle test」で失敗します

  24. 24

    ExpectedExceptionまたは@Test(expected =

  25. 25

    ivyを使用したant1.9のjunitタスクがjunit.framework.AssertionFailedErrorで失敗する:テストが見つかりません

  26. 26

    カスタム Java 例外が JUnit テストに失敗する

  27. 27

    コードがIllegalArgumentExceptionのJUnitテストに失敗するのはなぜですか?

  28. 28

    JUnit5で失敗したテストを管理する方法

  29. 29

    SurefireはJUnit 4テストを採用していません

ホットタグ

アーカイブ