I have a feature file with the following:
Scenario: Test something
Given I do something to test something
My step definition:
import io.cucumber.java.en.Given;
...
@Given("I do something to test something")
public void doSomething()
{
....
}
From my pom.xml:
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-testng</artifactId>
<version>4.6.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>4.6.0</version>
</dependency>
With the above, I can run my code using my runner, but in the IDE (IntelliJ IDEA) the step in the feature file is complaining about an "Undefined step reference". When I CTRL-left-click the step, it does not take me to the method for the step.
If I change my import to:
import cucumber.api.java.en.Given;
Everything works as expected (i.e. the step is found), but then I get a warning about import cucumber.api.java.en.Given being deprecated (and the "Given" in my code has a line going through it).
How can I make my the feature file work so that when I CTRL-Left-Click on a step it will take me to the method for the step, but also avoid the "deprecated" warning?
3 Answers 3
I had the exact same issue with our team's project. If you update to the latest version of IntelliJ (Currently 192.6x) it does support the latest version of the Cucumber for Java plugin now. After updating you will be able to change from using cucumber.api.java.en to io.cucumber.java.en
If you are updating from 191.x you may need to reinstall the Cucumber for Java plugin as well as update your other plugins such as gherkin.
-
it works for meVladislavShcherba– VladislavShcherba2019年11月20日 13:59:08 +00:00Commented Nov 20, 2019 at 13:59
-
1I'm on Idea 2019年3月4日 (193.*) with the latest plugins (also version 193.*) for it, but some steps are not mapped, while tests themselves work.GKalnytskyi– GKalnytskyi2020年03月26日 01:40:02 +00:00Commented Mar 26, 2020 at 1:40
I also had a similar kind of issue in intelliJ.
In InjelliJ Settings -> Plugins (Ctrl+Alt+S), deselect the plugin Substeps IntelliJ Plugin. And install Cucumber for Java and Gherkin plugin. Restart IntelliJ.
Please go to FileType
Under Cucumber Scenario, Add *Feature. It will work.
Dont waste time in doing all other stuffs.
import cucumber.api.java.en.Given;
), then everything works fine (except I get the "deprecated" warning and lines through deprecated annotations).