CucumberOptions cannot be resolved to a type
Solution 1
I met the same issue. cucumber-java 1.2.2 is working for me.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.2</version>
</dependency>
Solution 2
This answer is outdated.
Assuming you are either doing a new project or don't rely on any related legacy version code.
Now you need
import io.cucumber.junit.CucumberOptions;
in maven pom.xml, and replace the 7.0.0 to the most recent version.
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>7.0.0</version>
</dependency>
Solution 3
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
Most probably both are not getting resolved.
Solution:
Step 1: Change scope of cucumber-junit from test to compile.
Step 2: In your Test runner class
Import Below:
import io.cucumber.junit.CucumberOptions;
import io.cucumber.junit.Cucumber;
Instead of :
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
Working for me
user3548850
Updated on December 25, 2021Comments
-
user3548850 over 2 years
In my testrunner class, on using
@CucumberOptions
, I am getting an error message saying "CucumberOptions cannot be resolved to a type". I am using the latest version of eclipse cucumber dependencies. I have tried every possible way by installing and uninstalling eclipse, by lowering the cucumber dependencies version.My runner class is :
import org.junit.runner.RunWith; import cucumber.api.junit.*; import cucumber.api.testng.AbstractTestNGCucumberTests; @RunWith(Cucumber.class) @CucumberOptions( // format = {"pretty","html:target/html/" } , features = "src/test/resources", glue = "com.cucumber.bhsibase.party.tests") public class TestRunner extends AbstractTestNGCucumberTests { }
And my POM.xml :
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>BHSI_BASE</groupId> <artifactId>BHSI_BASE</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>BHSI_BASE</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <!-- dependencies added for testng start --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.11</version> <scope>test</scope> </dependency> <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-testng --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-testng</artifactId> <version>1.2.5</version> </dependency> <!-- dependencies added for testng completed --> <!-- dependencies on cucumber jarss --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency> <dependency> <groupId>jdom</groupId> <artifactId>jdom</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-server</artifactId> <version>2.53.0</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-core</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-jvm</artifactId> <version>1.2.5</version> <type>pom</type> </dependency> <!-- dependencies on log4j jarss --> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> </project>
Please let me know how to proceed ahead with this .