尝试在另一个类中重用一个方法,像这样初始化该类:
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();
但是我在上面的行中得到了一个空指针异常。
iTapDone()中的代码可以正常工作,如果我复制该行并在SettingsStepDefs上使用它,则可以正常工作。
先感谢您。
最佳答案
您需要在步骤之间共享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>
是必需的。