Как удалить любой тест из результатов TestNG или ITestContext - PullRequest
0 голосов
/ 11 октября 2019

Справочная информация: Я использую TestNG DataProvider

Требование: Необходимо исключить 1 тест из отчета TestNG после завершения выполнения.

Мое решение: Предположим, мне нужно удалить тестовый набор 'XYZ' из отчета.

String testName = "XYZ";

private void removeTestFromResult(ITestContext context)
    {
        for (ITestNGMethod testMethodName : context.getAllTestMethods())
        {
            String testMethod = testMethodName.getMethodName().toLowerCase();

            if (testMethod.contains(testName))
            {
                if (context.getPassedTests().size() > 0)
                {
                    context.getPassedTests().removeResult(testMethodName);
                }
                if (context.getFailedTests().size() > 0)
                {
                    context.getFailedTests().removeResult(testMethodName);
                }
                if (context.getSkippedTests().size() > 0)
                {
                    context.getSkippedTests().removeResult(testMethodName);
                }
            }
        }
    }

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Если вы хотите выполнить тест и скрыть его от отчета о результатах, вы можете взглянуть на TestNG TestListenerAdapter. Можно изменить контекст теста после выполнения, например, удалив из него нежелательные тесты. См. эту ссылку для подробного примера.

TestListenerAdapter:

public class MyTestListenerAdapter extends TestListenerAdapter {

    @Override
    public void onFinish(ITestContext context) {
        //TODO remove the unwanted tests from context.getPassedTests()
    }
}

Тест:

@Listeners(MyTestListenerAdapter.class)
public class MyTest {
    //Your test methods here.
}

Здесь все документированные слушатели TestNG. Это также может быть полезно.

0 голосов
/ 12 октября 2019

В аннотации @Test вы можете установить enabled = false, чтобы избежать их выполнения:

https://testng.org/doc/documentation-main.html#annotations

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...