我正在尝试在我的项目代码中使用新的Cucumber库(v4.8.0(,并面临功能和步骤定义链接的问题。
我以前的项目使用旧版本的黄瓜(v1.2.5(。 假设我当前项目中的某些设置不正确,我尝试匹配上一个项目中的 Cucumber 依赖项。但是我在那里也遇到了同样的问题
我还尝试验证功能文件中的空格,但没有成功,也没有确定定义
My Feature File:
Feature: Feature Test
Scenario: Scenario One
Given Scenario One - Step One
我的定义文件(使用旧的注释类 - 定义被识别(:
package definitions;
import cucumber.api.java.en.Given;
public class Feature1 {
@Given("Scenario One - Step One")
public void stepOne() {
}
}
我的定义文件(使用新的注释类 - 无法识别定义(:
package definitions;
import io.cucumber.java.en.Given;
public class Feature1 {
@Given("Scenario One - Step One")
public void stepOne() {
}
}
预期成果: 我希望新的注释类应该能够识别和链接功能步骤和定义
实际结果: 如果使用"cucumber.api.java.en.Given",则标识定义,但如果使用"io.cucumber.java.en.Given"则无法识别定义
更新以下软件包 黄瓜版本从4.2.0到6.8.0
为我工作!
我也有类似的问题。我来自在我的步骤定义java文件中使用以下方法
import cucumber.api.java.en.Given;
然后我更新了以下软件包
- 黄瓜版本从4.2.0到6.8.0
- 小黄瓜版本从 5.1.0 到 15.0.2
我的Intellij不再识别我已经实现的步骤定义了。
在我用下一行替换我的导入后,它再次正常工作
import io.cucumber.java.en.Given;
所以我相信你需要更新黄瓜版本的版本号才能使用新的注释类。
我有一个类似的问题,使用下面解决了。虽然它说已弃用,但步骤定义仍然链接到功能文件。
import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.And;
它也适用于我,通过将cucumber.api.java.en替换为io.cucumber.java.en.given。