从我的java应用程序运行JUnit测试

时间:2018-02-05 17:47:04

标签: java exception junit cucumber cucumber-jvm

我正在尝试从我的java应用程序中运行Junit测试。

这是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);
    }
}

当我尝试从主电话中调用它时:

public static void main(String[] args) {
    JUnitCore junit = new JUnitCore();
    Result result = junit.run(TestParallel.class);
}

我收到此错误

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

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您需要添加在类路径中找不到的类。如果使用Maven,请确认您的范围正确定义。例如,范围不应该是<scope>provided</scope>

为什么你甚至可以从static main() - 上下文调用你的课程?

如果你真的想要执行这样的测试,请确保删除黄瓜的<scope>test</scope>

答案 1 :(得分:0)

感谢您的回复。我设法通过删除

来使其工作
      <scope>test</scope>

来自pom。