AlexZok
(Alex Zok)
29.Январь.2020 11:03:51
#1
В версии 1.х allure за это отвечал код
ALLURE.fire(new StepStartedEvent(ExceptionUtils.getStackTrace(ex))); ALLURE.fire(new StepFailureEvent().withThrowable(ex));
ALLURE.fire(new StepFinishedEvent());
ALLURE.fire(new StepFailureEvent().withThrowable(ex));
ALLURE.fire(new StepFinishedEvent());```
но сейчас я не могу понять как реализуеться Аллюре 2.0, возможно связано з StepResult() и последующим апдейтом по Stage and Status
madvlaydin
(Vladislav Abramov)
29.Январь.2020 18:02:38
#3
решение опубликовать не хотите?
AlexZok
(Alex Zok)
30.Январь.2020 11:15:03
#4
да, конечно, возможно кому-то поможет
final String mainStepUUID = UUID.randomUUID().toString();
final String subStepUUID = UUID.randomUUID().toString();
StepResult result = new StepResult().withName(
iAssert.getMessage() + " Actual result: " + iAssert.getActual() + " Expected result: " + iAssert.getExpected())
.withStage(Stage.RUNNING);
getLifecycle().startStep(mainStepUUID, result);
getLifecycle().updateStep(mainStepUUID, mainStep -> mainStep.withStatus(Status.PASSED));
getLifecycle().startStep(subStepUUID,
new StepResult().withStage(Stage.INTERRUPTED).withStatus(Status.FAILED)
.withStart(System.currentTimeMillis()).withName(ExceptionUtils.getStackTrace(ex))
.withDescription(ex.getMessage()));
getLifecycle().updateStep(mainStepUUID,
mainStepUpdated -> mainStepUpdated.withStatus(getStatus(ex).orElse(Status.FAILED)).withStage(Stage.FINISHED)
.withDescription(ex.getMessage())
.withName(iAssert.getMessage() + " Actual result: " + iAssert.getActual() + " Expected result: "
+ iAssert.getExpected())
.withStop(System.currentTimeMillis()).withStatusDetails(getStatusDetails(ex).orElse(null)));
getLifecycle().stopStep(subStepUUID);
getLifecycle().stopStep(mainStepUUID);