Делаю тесты на проверку синхронизации действие - > проверяем бд → действие 2 → проверяем бд.
Вопрос связан исключительно с красотой построения отчетов, сами тесты выполняются.
Что то не могу понять как мне пометить именно первый step в allure как failed
@Test
public void testCheckIntegrationScenario(){
IntegrationSteps steps = new IntegrationSteps();
steps.goToMainPage();
steps.doActionOne();
steps.checkDBTable1AfterActionOne();
steps.checkDBTable2AfterActionOne();
steps.checkDBTable3AfterActionOne();
steps.doActionTwo();
steps.checkDBTable1AfterActionTwo();
steps.checkDBTable2AfterActionTwo();
steps.checkDBTable3AfterActionTwo();
}
IntegrationSteps такая структура:
class IntegrationSteps{
@Step("Check DB Table # 1 After Action One ")
public void checkDBTable1AfterActionOne(){
try{
// логика проверки БД assertThat(actualValue).isEqualTo(expectedValue)
}catch(AssertionError){
// Тут нужно что то вставить
}
}
}
Что то нигде не могу найти решения, пробовал так:
Если я в catch вставляю Allure.step(“This step is Failed”, Status.FAILED); - то в отчете у меня красненьким помечается sub-step, а не не step, что не очень удобно при анализе результатов.
Если же я бросаю исключение - то шаг помечается красненьким как надо- но дальше проверка не идет, что не очень удобно.
Как вот можно маркировать текущий Step (@Step("Check DB Table # 1 After Action One ")) как failed, но не прерывая выполнения дальнейших steps?