Testng-テストメソッドが失敗した場合にAfterClassメソッドを失敗させる方法

MasterJoe:

それより前にエラーが発生した場合は、AfterClassコードを実行しないでください。つまり、テストが失敗した場合、AfterClassは実行されません。どうすればそれを達成できますか?

import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class Testing {
    @BeforeClass
    public void b4class(){
        System.out.println("b4class");
    }

    @Test
    public void t1(){
        System.out.println("t1");
        throw new IllegalArgumentException("BOOM");
    }

    @AfterClass(alwaysRun = false)
    public void afterClass(){
        System.out.println("afterClass");
    }

}
vzhemevko:

TestNG リスナー使用して、デフォルトの動作をオーバーライドできますたとえば、それを実行できる非常に単純なリスナー

@Listeners({Testing.MethodInterceptor.class})
public class Testing {

    @BeforeClass
    public void b4class(){
        System.out.println("b4class");
    }

    @Test
    protected void t1(){
        System.out.println("t1");
        throw new IllegalArgumentException("BOOM");
    }

    @AfterClass
    public void afterClass(){
        System.out.println("afterClass");
    }

    public static class MethodInterceptor implements IInvokedMethodListener {

        int status = ITestResult.SUCCESS;

        @Override
        public void beforeInvocation(final IInvokedMethod method, final ITestResult testResult) {
            if (method.isConfigurationMethod()
                    && method.getTestMethod().getMethodName().equals("afterClass")
                    && ITestResult.FAILURE == status) {
                throw new IllegalStateException("BIG BOOM");
            }
        }

        @Override
        public void afterInvocation(final IInvokedMethod method, final ITestResult testResult) {
            if (method.getTestMethod().getMethodName().equals("t1")) {
                status = testResult.getStatus();
            }
        }
    }
}

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

テストケースが失敗した場合(TestNGを使用)に特定のメソッドを実行するにはどうすればよいですか?

分類Dev

テスト メソッドに ITestContext コンテキストを含めると、DataProvider を使用した TestNG の再試行が失敗する

分類Dev

「待機メソッド」がTestNGテストケースに失敗しないのはなぜですか?

分類Dev

testngユニットテストケースが失敗した場合、Bambooビルドは失敗するはずです

分類Dev

ファイルが場所に存在しない場合にTestNGをテストに失敗させる

分類Dev

TestNGで構成メソッドが呼び出されたテストメソッドを取得する

分類Dev

メッセージが正しい場合でも、TestNGテストは間違ったメッセージで失敗します

分類Dev

TestNG:@BeforeClassメソッドが失敗すると、後続のすべてのTestクラスがスキップされますか?

分類Dev

TestNG再試行クラスは@BeforeClassメソッドも@AfterClassメソッドも実行しません

分類Dev

タイムアウトに達したらすぐにTestNGメソッドを終了させる方法は?

分類Dev

テストが失敗した後に実行されているからTestNGのを停止する方法

分類Dev

testngテストが失敗するとmvnビルドが失敗する

分類Dev

testngテストメソッドを並行して実行する方法は?

分類Dev

@DataProviderメソッドで例外が発生した後、TestNGがテストをスキップする

分類Dev

TestNGで複数のスレッドを使用してテストメソッドを実行する場合の問題はほとんどありません

分類Dev

testngで50%のテスト方法が失敗した場合、自動化を停止するにはどうすればよいですか?

分類Dev

Selenium / Testng:例外が発生した場合、@ Testの残りをスキップまたは失敗します

分類Dev

testng tear downメソッドで実行されたテストメソッドの名前を取得するにはどうすればよいですか?

分類Dev

リストする方法すべてのTestNGテストメソッドのリストを取得します

分類Dev

Mavenによるtestngテストの実行時にBeforeGroupsメソッドが実行されない

分類Dev

TestNGで匿名クラスが返されるときにプライベートメソッドをテストする方法

分類Dev

TestNGで匿名クラスが返されるときにプライベートメソッドをテストする方法

分類Dev

testngを使用してセレンテストメソッドを並行して実行する方法

分類Dev

失敗したTestNGでテストを続行

分類Dev

1つのテストメソッドの出力を別のメソッドtestngに渡す

分類Dev

TestNG別のテストメソッドからテストメソッドを呼び出す

分類Dev

Testngの取得方法-テストケースに複数の値を持つデータプロバイダーがある場合のテストメソッド名

分類Dev

TestNGは、テストメソッドの代わりにテストデータを反復処理します

分類Dev

TestNGは、テストメソッドの代わりにテストデータを反復処理します

Related 関連記事

  1. 1

    テストケースが失敗した場合(TestNGを使用)に特定のメソッドを実行するにはどうすればよいですか?

  2. 2

    テスト メソッドに ITestContext コンテキストを含めると、DataProvider を使用した TestNG の再試行が失敗する

  3. 3

    「待機メソッド」がTestNGテストケースに失敗しないのはなぜですか?

  4. 4

    testngユニットテストケースが失敗した場合、Bambooビルドは失敗するはずです

  5. 5

    ファイルが場所に存在しない場合にTestNGをテストに失敗させる

  6. 6

    TestNGで構成メソッドが呼び出されたテストメソッドを取得する

  7. 7

    メッセージが正しい場合でも、TestNGテストは間違ったメッセージで失敗します

  8. 8

    TestNG:@BeforeClassメソッドが失敗すると、後続のすべてのTestクラスがスキップされますか?

  9. 9

    TestNG再試行クラスは@BeforeClassメソッドも@AfterClassメソッドも実行しません

  10. 10

    タイムアウトに達したらすぐにTestNGメソッドを終了させる方法は?

  11. 11

    テストが失敗した後に実行されているからTestNGのを停止する方法

  12. 12

    testngテストが失敗するとmvnビルドが失敗する

  13. 13

    testngテストメソッドを並行して実行する方法は?

  14. 14

    @DataProviderメソッドで例外が発生した後、TestNGがテストをスキップする

  15. 15

    TestNGで複数のスレッドを使用してテストメソッドを実行する場合の問題はほとんどありません

  16. 16

    testngで50%のテスト方法が失敗した場合、自動化を停止するにはどうすればよいですか?

  17. 17

    Selenium / Testng:例外が発生した場合、@ Testの残りをスキップまたは失敗します

  18. 18

    testng tear downメソッドで実行されたテストメソッドの名前を取得するにはどうすればよいですか?

  19. 19

    リストする方法すべてのTestNGテストメソッドのリストを取得します

  20. 20

    Mavenによるtestngテストの実行時にBeforeGroupsメソッドが実行されない

  21. 21

    TestNGで匿名クラスが返されるときにプライベートメソッドをテストする方法

  22. 22

    TestNGで匿名クラスが返されるときにプライベートメソッドをテストする方法

  23. 23

    testngを使用してセレンテストメソッドを並行して実行する方法

  24. 24

    失敗したTestNGでテストを続行

  25. 25

    1つのテストメソッドの出力を別のメソッドtestngに渡す

  26. 26

    TestNG別のテストメソッドからテストメソッドを呼び出す

  27. 27

    Testngの取得方法-テストケースに複数の値を持つデータプロバイダーがある場合のテストメソッド名

  28. 28

    TestNGは、テストメソッドの代わりにテストデータを反復処理します

  29. 29

    TestNGは、テストメソッドの代わりにテストデータを反復処理します

ホットタグ

アーカイブ