Есть пачка тестов,  после каждого теста выполняется какой-то код с помощью аннотации testNG @AfterTest
но мне необходимо  выполнять разные действия после тестов в зависимости от того сфейлился тест при выполнении или прошел успешно
как такое можно реализовать?
Вариант 1.
Dependency Injection TestNG
    @AfterMethod(alwaysRun = true)
    public void afterTestMethod(ITestResult result) {
        if(result.isSuccess()) {
                // actions
        }
        else { // other action}
    }
Или такую проверку if(result.getStatus() == ITestResult.SUCCESS)
           
           
           2 лайка
         
         Вариант 2.
IResultListener
public class MyClass implements IResultListener {
    @Override
    public void onConfigurationSuccess(ITestResult itr) {
        
    }
    @Override
    public void onConfigurationFailure(ITestResult itr) {
    }
    @Override
    public void onConfigurationSkip(ITestResult itr) {
    }
    @Override
    public void onTestStart(ITestResult result) {
    }
    @Override
    public void onTestSuccess(ITestResult result) {
        // actions
    }
    @Override
    public void onTestFailure(ITestResult result) {
        // other actions
    }
    @Override
    public void onTestSkipped(ITestResult result) {
    }
    @Override
    public void onTestFailedButWithinSuccessPercentage(ITestResult result) {
    }
    @Override
    public void onStart(ITestContext context) {
    }
    @Override
    public void onFinish(ITestContext context) {
    }
           
           
           2 лайка