黄瓜在4.7中已弃用“给定/然后/何时”-应该用什么代替?

时间:2019-07-22 23:06:43

标签: java cucumber deprecated

我最近通过将Cucumber依赖项从4.3.1升级到4.7.0来升级了基于Cucumber / Java的测试工具。现在,Eclipse报告已弃用了Then标签。例如,在我的“步骤定义”类中,Eclipse报告了一个警告,指示在此方法旁边不建议使用“然后”类型:

@Then("Invoke the Functional API")
public void invoke_the_functional_api(DataTable dataTable) {
    /* Body of step definition */
}

此步骤定义的主体未引用任何其他步骤定义。通常,当我看到不赞成使用的警告时,我将研究如何用更多最新代码替换不赞成使用的用法,但是在这种情况下我无法弄清楚。有人知道吗?

3 个答案:

答案 0 :(得分:4)

不建议使用标签本身。导入是。您需要将导入语句更新为新的导入。

” 不推荐使用的类的迁移信息(自cucumber-jvm v4.5.x起):

导入io.cucumber.junit.CucumberOptions

导入io.cucumber.junit.Cucumber

您可以使用io.cucumber.java8.En替换java8 lambda导入

还有带有io.cucumber.java.en.Given的Java

如果通过IDEA运行,请在运行配置中更改主类:io.cucumber.core.cli.Main。”

在黄瓜文档中发布的链接:https://github.com/cucumber/docs.cucumber.io/issues/142#issuecomment-508719509

答案 1 :(得分:1)

  

此步骤定义的主体未引用任何其他步骤定义。通常,当我看到不赞成使用的警告时,我将研究如何用更多最新代码替换不赞成使用的用法,但是在这种情况下我无法弄清楚。有人知道吗?

在IDE中,您可以使用ctrl + Clickfn + Click移至元素的源代码。然后,您的IDE通常还会询问您是否要下载源代码。你应该做这个。源代码中的Javadoc将告诉您要迁移到的推荐类。

答案 2 :(得分:-1)

谢谢..

导入io.cucumber.java.en。*;

当我导入以上行时,我的错误消失了。