如何从TestRunner获取TestContext?

时间:2018-10-27 01:13:49

标签: cucumber citrus-framework

如何从TestRunner获取TestContext?

我正在做黄瓜柑橘整合。在我的步骤中,我使用

@CitrusResource
private TestRunner          runner;

让跑步者没有问题。但针对:

@CitrusResource
private TestContext         testContext;

它总是返回null。我确信我所有的属性设置都是正确的,但是仍然没有运气。

2 个答案:

答案 0 :(得分:1)

您可以将TestRunner强制转换为DefaultTestRunner,这提供了一种返回TestContext的方法getTestContext()

@CitrusResource
private TestRunner runner;

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

    // do whatever you want with the context
}

答案 1 :(得分:0)

TestContext注入仅在方法级别可用。

例如

public class ResourceInjectionIT extends JUnit4CitrusTestDesigner {

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

有关更多详细信息,请查看Test Context injection的文档