无法在QAFTestStepProvider类中传递实例变量

时间:2017-03-07 16:58:50

标签: java bdd cucumber-jvm qaf

我得到一个NullPointerException用于实例变量,这些变量在带有@Given注释的方法中实例化,如下面的代码所示" test":

import com.qmetry.qaf.automation.step.QAFTestStepProvider;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

@QAFTestStepProvider
public class Steps
{
    String test;

    @Given("^Step 1$")
    public void step1()
    {
        test = "test_string";
    }

    @Then("^Step 2$")
    public void step2()
    {
        String[] list = test.split("_");
    }
}

我已经看到各种示例(second to last code example)和资源(first paragraph of this answer)说这应该没问题,因为只有在尝试在Step Definition Java类之间共享状态时才需要DI ,不属于班级本身。

我有什么遗漏或是否有办法使这项工作?

1 个答案:

答案 0 :(得分:0)

根据qaf-release-notes-2.1.9,您需要将step.provider.sharedinstance设置为true(默认值为false)。在应用程序属性中,您可以指定

step.provider.sharedinstance=true