【问题标题】:How to run Karate from java application not from JUnit test如何从 Java 应用程序而不是 JUnit 测试运行空手道
【发布时间】:2018-02-05 15:36:20
【问题描述】:

我设法使用 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

【问题讨论】:

    标签: karate


    【解决方案1】:

    是的,请使用此处记录的 Java API:https://github.com/intuit/karate#java-api

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-04-11
        • 2013-04-25
        • 2021-03-21
        • 2016-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多