Karate 如何从java应用程序而不是JUnit测试运行空手道

Karate 如何从java应用程序而不是JUnit测试运行空手道,karate,Karate,我设法用Junit运行空手道测试。但我想要的是从java应用程序而不是Junit runner运行空手道 目前我正在JUnit上运行: import com.intuit.karate.cucumber.CucumberRunner; import com.intuit.karate.cucumber.KarateStats; import cucumber.api.CucumberOptions; import static org.junit.Assert.assertTrue; impor

我设法用Junit运行空手道测试。但我想要的是从java应用程序而不是Junit runner运行空手道

目前我正在JUnit上运行:

import com.intuit.karate.cucumber.CucumberRunner;
import com.intuit.karate.cucumber.KarateStats;
import cucumber.api.CucumberOptions;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
@CucumberOptions(tags = {"~@ignore"})
public class TestParallel {

@Test
public void testParallel() {
    KarateStats stats = CucumberRunner.parallel(getClass(), 5, "target/surefire-reports");
    assertTrue("scenarios failed", stats.getFailCount() == 0);
}
}
我尝试使用以下代码从我的主应用程序调用Junit类:

    JUnitCore junit = new JUnitCore();
    Result result = junit.run(TestParallel.class);
但我有一个错误:

java.lang.NoClassDefFoundError: com/intuit/karate/cucumber/CucumberRunner

是的,请使用Java API,记录如下:


请注意,如果沿着这条路走,您将不会得到报告。

我通过从pom中的空手道依赖项中删除测试范围解决了这个问题

一切正常,包括报告和输出