我试图在我的项目代码中使用新的Cucumber库(v4.8.0),并遇到功能和步进定义链接的问题。
我以前的项目中使用的是旧版本的Cucumber(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”,则无法识别
答案 0 :(得分:1)
更新以下软件包 黄瓜版本从 4.2.0 到 6.8.0
为我工作!
答案 1 :(得分:0)
我有类似的问题。我来自在我的步骤definiton java文件中使用以下内容
import cucumber.api.java.en.Given;
然后我更新了以下软件包
我的Intellij不再识别我已经实现的步骤定义。 ;-(
在我用下一行替换导入后,它又可以正常工作
import io.cucumber.java.en.Given;
因此,我认为您需要更新黄瓜版本的版本号,以使用新的注释类。
答案 2 :(得分:0)
我有一个类似的问题,可通过以下方法解决。尽管它已弃用,但仍将StepDefinitions链接到Feature文件。
import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.And;
答案 3 :(得分:0)
它也适用于我的情况,将cucumber.api.java.en 替换为io.cucumber.java.en.Given