我设法使用Junit运行空手道测试。但我想要的是从Java应用程序而不是Junit runner运行Karate。
目前我正在从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);
}
}
我尝试使用以下代码从我的应用程序main调用Junit类:
JUnitCore junit = new JUnitCore();
Result result = junit.run(TestParallel.class);
但我有这个错误:
java.lang.NoClassDefFoundError: com/intuit/karate/cucumber/CucumberRunner
答案 0 :(得分:1)
是的,请使用此处记录的Java API:https://github.com/intuit/karate#java-api
请注意,如果沿着这条路走下去,就不会收到报告。
答案 1 :(得分:1)
我通过从pom中的空手道依赖项中删除测试范围来解决问题。
一切正常,包括报告和输出。