Test class not found in selected project

17k views Asked by At

Currently I am developing a simple program using Cucumber that will test logging in of a user on a website.

Here is my TestRunner file:

package cucumberTest;

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(features = "Feature")

public class TestRunner {

}

I also have the cucumber file as LogIn_Test.feature as follows:

Feature: Login Action

Scenario: Successful Login with Valid Credentials
    Given User is on Home Page
    When User Navigate to LogIn Page
    And User enters UserName and Password
    Then Message displayed Login Successfully

Scenario: Successful LogOut
    When User LogOut from the Application
    Then Message displayed LogOut Successfully

But whenever I try to run the TestRunner class as a JUnit test, I get the error:

Test class not found in selected project.

3

There are 3 answers

1
Paizo On

you should to specify the cucumber feature file:

@RunWith(Cucumber.class)
@CucumberOptions(features = "classpath:cucumberTest/LogIn_Test.feature")
public class TestRunner {

}

make sure you have placed it on the resource folder under the same path as the package name, ie: workspace\project-name\src\test\resources\cucumberTest\

1
Ashutosh upadhyay On

Step1 Add Jackson library jar in pom.xml file and it will resolve the issue.

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.3</version>
</dependency>

Step 2 update maven project

enter image description here

0
Rick Johnson On

I know this is an older question that I'm responding to, but you seem to be missing the glue option in your @CucumberOptions():

@CucumberOptions(
    features = "Feature"
    ,glue={"stepDefinition"}
    )