Я пытаюсь напечатать текущий шаг, выполняемый в огурце. Я использую пользовательский форматер для печати определения шага. Тем не менее, я также хочу напечатать текущее наречие (Given, When, Then, And ...), которое выполняется. Я мог бы что-то упустить, возможно ли это в огурце? Вот мой код:
Форматер:
public class MyCucumberFormatter implements ConcurrentEventListener {
@Override
public void setEventPublisher(EventPublisher publisher) {
publisher.registerHandlerFor(TestStepStarted.class, runStartedHandler);
}
private EventHandler<TestStepStarted> runStartedHandler = new EventHandler<TestStepStarted>() {
@Override
public void receive(TestStepStarted event) {
startReport(event);
}
};
private void startReport(TestStepStarted event) {
if (!(event.testStep instanceof PickleStepTestStep)) {
return;
}
PickleStepTestStep testStep = (PickleStepTestStep) event.testStep;
log("Step: " + testStep.getStepText());
}
}
Пример сценария:
Scenario: Test user life cycle: create user, activate and delete
Given A valid admin logs in
When Admin creates new user
And User is activated
Then User should successfully login
Сейчас он печатается как:
A valid admin logs in
Admin creates new user
User is activated
User should successfully login
Я хочу, чтобы он печатался как:
Учитывая Действительный администратор входит в систему
Когда Администратор создает нового пользователя
И Пользователь активирован
Затем Пользователь должен успешно войти в систему