gpt4 book ai didi

java - Cucumber 类扩展步骤定义和 Hook

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:15 24 4
gpt4 key购买 nike

我想从 Java 中的“AbstractBase_step”类进行扩展。所以我想要一个像这样的钩子(Hook):

public abstract class AbstractBase_Steps {
protected Scenario scenario;
@Before
public void background(Scenario scenario) {
this.scenario = scenario;
}
}

为每个步骤文件调用:

public abstract class Hello_Steps extends AbstractBase_Steps {
}

当我这样做时,我得到了

cucumber.runtime.CucumberException: You're not allowed to extend classes that define Step Definitions or hooks. class Hello_Steps extends class AbstractBase_Steps

有人对此有窍门吗?

编辑:为了重用相同的步骤定义,我创建了一个新的类 Common_Steps 并将其包含在粘合路径中。因此它的定义可用于测试中的所有特征文件。

最佳答案

据我了解您的问题,您希望减少步骤的逻辑。这是解决方案。

1) 在这种情况下定义一个公共(public)类A,在像co.com.test

这样的通用包中包含步骤

2) 定义使用基础包的步骤配置

@CucumberOptions(format = {"pretty", "html:target/html/"},
features = {"src/test/resources/acceptance/general/general.feature"},
glue = {"co.com.test"})

3) 不从类 B 继承到 A 的特定步骤

会导致在所有包中搜索steps,找到通用步骤和特有步骤。

关于java - Cucumber 类扩展步骤定义和 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34771928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com