尝试在另一个类中重用一个方法,初始化类如下:
public class SettingsStepDefs {
public Scenario scenario;
@Autowired
public AndroidBase androidBase;
public GenericStepDefs genericStepDefs;
@Before
public void before(Scenario scenario) {
this.scenario = scenario;
genericStepDefs = new GenericStepDefs();
然后使用方法
genericStepDefs.iTapDone();
但是我在上面的行上得到了Null指针异常。
iTapDone()中的代码是有效的,如果我复制该行并在SettingsStepDefs上使用它,它就可以工作。
提前谢谢。
答案 0 :(得分:1)
您需要在步骤之间共享GenericStepDefs
的实例。由于变量genericStepDefs
未设置,因此您将获得NullPointerException。
您使用注释@Autowired
似乎正在使用Spring。研究与Spring for Cucumber共享状态。这是通过为Cucumber-JVM设置Spring来完成的。依赖
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>1.2.5</version>
</dependency>
是必需的。