Я пытаюсь перенастроить результаты моих тестов, чтобы не показывать результаты пропуска для методов конфигурации, и это искажает мои данные.
Я запускаю тесты через TestNG, где каждый метод имеет конфигурацию @beforeMethod и @afterMethodметод. В beforeMethod я проверяю, должен ли выполняться метод @Test или нет, и если нет, я выкидываю исключение SkipException, чтобы пропустить его.
В моей текущей ситуации у меня есть 2 метода тестирования, которые я запускаю. Один предназначен для отказа, а другой предназначен для пропуска. Поэтому я ожидаю получить результат 1 провал и 1 пропустить. В консоли IDE это результат, который я получаю, но когда я запускаю его через Maven, я получаю 1 ошибку и 3 пропуска. Вот мой emailable-result.html . В неудачном тестовом примере нет ни @beforeMethod, ни @afterMethod.
Я узнал о IConfigurationListener, но я не уверен, как его использовать для удаления метода конфигурации из отчета. Я также использую maven surefire
Это то, что у меня есть до сих пор.
public class MyConfigurationListenerAdapter implements IConfigurationListener {
@Override
public void onConfigurationSkip(ITestResult itr) {
String configName = itr.getName();
if (configName.equals("beforeMethod")||configName.equals("afterMethod")){
//TODO remove itr from test result
}
}
}
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14.1</version>
<configuration>
<properties>
<property>
<name>listener</name>
<value>java_accelerator.testng.classes.MyConfigurationListenerAdapter</value>
</property>
</properties>
<!-- Suite testng xml file to consider for test execution -->
<suiteXmlFiles>
<suiteXmlFile>src/test/java/testclasses/tests/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
Кто-нибудь сможет мне помочь отсюда?