Reputation: 109
My Runner class is below, when i execute mvn test -Dcucumber.options="--tags @golden" command, i dont see my golden scenarios running!
package apiTest;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import com.intuit.karate.KarateOptions;
import com.intuit.karate.Results;
import com.intuit.karate.Runner;
import io.cucumber.junit.CucumberOptions;
import net.masterthought.cucumber.Configuration;
import net.masterthought.cucumber.ReportBuilder;
@KarateOptions(tags = {"~@ignore"})
@CucumberOptions(
features = {"src/test/java/featureFiles"},
plugin = { "pretty", "html:target/cucumber-reports"},
monochrome = true)
public class RunnerTest {
@Test
public void testParallel() {
Results results = Runner.parallel(getClass(), 10, "target/surefire-reports");
generateReport(results.getReportDir());
assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
}
public static void generateReport(String karateOutputPath) {
Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] { "json" }, true);
List<String> jsonPaths = new ArrayList<String>(jsonFiles.size());
jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
Configuration config = new Configuration(new File("target"), "API Tests");
ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
reportBuilder.generateReports();
}
}
Any runner class examples? i am using junit4!
Upvotes: 1
Views: 7164
Reputation: 109
Finally below code worked, Thanks Peter using 0.9.6.RC2 and command line is mvn test -Dkarate.options="--tags @golden"
package apiTest;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import com.intuit.karate.KarateOptions;
import com.intuit.karate.Results;
import com.intuit.karate.Runner;
import net.masterthought.cucumber.Configuration;
import net.masterthought.cucumber.ReportBuilder;
@KarateOptions(features="classpath:featureFiles", tags="~@ignore")
public class RunnerTest {
@Test
public void testParallel() {
Results results = Runner.parallel(getClass(), 2);
generateReport(results.getReportDir());
assertTrue(results.getErrorMessages(), results.getFailCount() == 0);
}
public static void generateReport(String karateOutputPath) {
Collection<File> jsonFiles = FileUtils.listFiles(new File(karateOutputPath), new String[] { "json" }, true);
List<String> jsonPaths = new ArrayList<String>(jsonFiles.size());
jsonFiles.forEach(file -> jsonPaths.add(file.getAbsolutePath()));
Configuration config = new Configuration(new File("target"), "API Tests");
ReportBuilder reportBuilder = new ReportBuilder(jsonPaths, config);
reportBuilder.generateReports();
}
}
Upvotes: 1
Reputation: 58058
You probably ran into this issue: https://github.com/intuit/karate/issues/1061
Can you try with version 0.9.6.RC2 ?
Upvotes: 0