Как получить TestContext из TestRunner?

Как я могу получить TestContext из TestRunner?

Я делаю интеграцию огурца с цитрусовыми. в моем шаге я использую

@CitrusResource
private TestRunner          runner;

чтобы получить бегун не проблема. но для:

@CitrusResource
private TestContext         testContext;

он всегда возвращает ноль. Я уверен, что все мои настройки свойств верны, но все равно не повезло.


person FeeLGooD    schedule 27.10.2018    source источник


Ответы (2)


вы можете привести TestRunner к DefaultTestRunner, который предоставляет метод getTestContext(), возвращающий TestContext.

@CitrusResource
private TestRunner runner;

@Test
@CitrusTest
public void fooIT() {
    TestContext context = ((DefaultTestRunner) runner).getTestContext();

    // do whatever you want with the context
}
person MischCon    schedule 11.12.2018

Внедрение TestContext доступно только на уровне метода.

E.g.

public class ResourceInjectionIT extends JUnit4CitrusTestDesigner {

  @Test
  @CitrusTest
  public void resourceInjectionIT(@CitrusResource TestContext context) {
      context.setVariable("myVariable", "some value");
      echo("${myVariable}");
  }
}

Дополнительные сведения см. в документации по Контекст тестирования. инъекция

person Sven Hettwer    schedule 27.10.2018