сохранить контекст между тестом jbehave и репортером

Я хотел бы настроить содержимое HTML-отчета моего теста jbehave, добавив информацию, рассчитанную на этапе тестирования. Давайте посмотрим, что я хочу сделать:

@Given("a test step")
public void ...
    String customInfo = "calculate some info";
    this.currentStepContext.info(customInfo);
    ...
}

и в репортере html:

public void successful(String step) {
    super.successful(step);
    this.outputScenario.addStep(new OutputStep(this.currentStepContext.getInfo(), ""));
}

Моя проблема в том, что в html репортере у меня нет ссылки на тестовый шаг. Кажется, что нет общего контекста. В этом примере атрибут «currentStepContext» различается в тестовом классе и в классе репортера. Единственная информация, которую я получил из своего тестового шага, — это параметр «шаг», но это просто строка. Ты хоть представляешь, что мне делать?

Тема добавить пользовательскую информацию в jbehave могла бы быть полезной, но она не говорит о совместном использовании контекста.

заранее спасибо


person salidou    schedule 22.09.2015    source источник


Ответы (1)


На самом деле, я нашел способ, но он не использует структуру jbehave. Он использует пружину. С обеих сторон (шаг теста и отчет) я могу иметь дело с классом, аннотированным @Component, и я использую этот класс как общий контекст.

person salidou    schedule 23.09.2015