I want to run cucumber feature file from java code.
currently we are running form JUnit Runner
package com.compareglobalgroup.testscript;
import cuc
I would recommend qaf-gherkin where you don't need to use junit or other runner. All you need to specify step provider package and feature file(s) or dir to run. For example:
<test name="Gherkin-QAF-Test">
<parameter name="step.provider.pkg" value="com.qmetry.qaf.automation.impl.step.qaf" />
<parameter name="scenario.file.loc" value="resources/features" />
<classes>
<class name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
</classes>
</test>
You can walk through qaf-step-by-step-tutorial
Call the static main method of Main class in the package cucumber.api.cli
that corresponds to running cucumber from the command line.
public static void main(String[] args) throws Throwable {
Main.main(new String[]{"-g", "classpath to step definition file", "Full path to feature file"});
// My stepdefinition is inside java package at cucumber.sample.test
// My feature file is inside src/test/resources/features/featurefile.feature
}
For additional parameters like tags or plugin use "-t","@Tags"
. Important the feature file path has to be the last option.
BTW - In the your example you are running with a TestNG cucumber runner.