如果我使用较新的 Cucumber 注释接口,则找不到步骤定义,例如'io.cucumber.java.en.Given'



我正在尝试在我的项目代码中使用新的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。

相关内容

最新更新