CucumberOptions cannot be resolved to a type

22,081

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:

  1. Step 1: Change scope of cucumber-junit from test to compile.

  2. 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

Share:
22,081
user3548850
Author by

user3548850

Updated on December 25, 2021

Comments

  • user3548850
    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 .