Intellij Idea IntelliJ与 cucumber (java)和步骤定义位置

e37o9pze  于 2023-02-03  发布在  Java
关注(0)|答案(6)|浏览(203)

我正在用IntelliJ做一个项目,并尝试利用它的cucwup功能,我还没有用过java风格的cucwup,但是IntelliJ似乎希望步骤定义文件在一个特定的位置,相对于特性文件。
我发现了这个:how to define step definitions location for cucumber in intelliJ 12和其他来源指出我能够添加我的运行配置的"glue"属性,它告诉cuke哪个包可以找到步骤文件。所以我现在可以通过IDEA运行我的测试。但是我需要在每次运行新测试时设置这个属性,因为Ctrl + Alt + F10或右键单击+运行测试将不会使用这个标记启动测试。另外,由于IDEA不知道步骤在哪里,IDE支持被拧断,它不能自动完成或Ctrl+单击导航到步骤。
有没有一种方法可以让IDEA项目在运行测试和自动完成测试时始终查找给定包中的步骤?

vd8tlhqk

vd8tlhqk1#

为其他可能遇到这个问题的人创建自己的答案。我的项目没有标记为测试源根的步骤,尽管我这样做了,但直到我关闭并重新打开我的项目,它们才被选中。所以简单的重新启动是我的答案。

bogh5gae

bogh5gae2#

您可以通过打开“编辑配置-〉默认值-〉Cucumber Java -〉Glue”全局设置粘合位置,并添加包名。
(智能J 12.1.4)

webghufk

webghufk3#

转到文件-〉设置--〉插件
安装Cucumber for Java插件
然后你可以如下所示管理cucwup插件。当你点击你的测试时,它会将你重定向到步骤定义。

希望这能帮上忙

ql3eal8s

ql3eal8s4#

IntelliJ支持Cucumber-Java/Groovy的插件。安装此插件将启用从功能文件中提到的步骤到步骤定义的导航。

创建步骤定义后,可以轻松进行导航

bxgwgixi

bxgwgixi5#

我进入EditConfiguration,Glue部分,我把路径从上面的包和包在哪里是你的类的步骤,例如:CucumberFramework.stepsDefinitions

pexxcrt2

pexxcrt26#

这真是无稽之谈:)但在我的情况下,IDEA拒绝自动添加步骤定义,因为安装了一些插件,例如Cucumber for Scala,并建议删除它们,我不能,因为我需要在其他项目中使用它们。所以,长话短说,添加(创建步骤定义),你需要在'glue'目录中创建类和一些假的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$")

相关问题