好的,所以我正在使用IntelliJ开发一个项目并试图利用它的黄瓜功能。我没有使用黄瓜的java风格,但是IntelliJ似乎想要相对于特征文件在特定位置的步骤定义文件。
我发现这个:how to define step definitions location for cucumber in intelliJ 12和其他来源指出我能够添加运行配置的“glue”属性,告诉cuke找到步骤文件的包。所以我可以通过IDEA运行我的测试。但我每次运行新测试时都需要设置此项,因为Ctrl + Alt + F10或右键单击+运行测试不会以此标志启动测试。此外,由于IDEA不知道步骤的位置,它不会自动完成或按Ctrl +单击导航到步骤,因此ID支持被搞砸了。
有没有办法让IDEA项目在运行测试时自动查找给定包中的步骤并自动完成?
答案 0 :(得分:12)
为可能遇到此问题的其他人创建自己的答案。我的项目没有标记为测试源根目录的步骤,虽然我做了这个,但直到我关闭并重新打开我的项目才得到它们。所以我的回答是一个简单的重启。
答案 1 :(得分:5)
您可以通过打开“编辑配置 - >默认值 - > Cucumber Java - > Glue”来全局设置粘贴位置,并添加包名称。
(IntelliJ 12.1.4)
答案 2 :(得分:5)
答案 3 :(得分:2)
答案 4 :(得分:0)
我进入EditConfiguration的Glue部分,然后将路径放在上面的包中,而该包是您的步骤类,例如: CucumberFramework.stepsDefinitions
答案 5 :(得分:0)
这真的是胡说八道:),但在我的情况下,由于安装了某些插件,例如,IDEA拒绝自动添加步骤定义。 Scala的黄瓜,建议删除它们,因为我在其他项目中需要它们,所以我无法删除它们。因此,长话短说,要添加(创建步骤定义),您需要在“ glue”目录中创建Class并使用一些虚假的Cucumber实现,再花一个时间来解决问题。
Background:
When I use IDEA 2018.2
And Java 8
And Cucumber info.cukes:cucumber-java:1.2.4
@When("^I created a Class and put there fake step implementation$")
@And("^I run gradle build one more time :)$")
@Then("^This Class will be able for me from the feature file by ALT+ENTER as usual$")
@And("^It resolved my issue when I was not able to automatically generate step definition$")