【问题标题】:Run a JUnit test from my java application从我的 java 应用程序运行 JUnit 测试
【发布时间】:2018-02-05 17:47:03
【问题描述】:

我正在尝试从我的 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);
    }
}

当我尝试从 main 调用它时:

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

我收到此错误

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

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

【问题讨论】:

  • com/intuit/karate/cucumber/CucumberRunner 类在哪里?您确定类路径中有正确的库吗?

标签: java exception junit cucumber cucumber-jvm


【解决方案1】:

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

为什么你甚至从static main()-context 调用你的类?

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

【讨论】:

    【解决方案2】:

    感谢您的回复。我设法通过删除来让它工作

          <scope>test</scope>
    

    来自 pom。

    【讨论】:

      猜你喜欢
      • 2016-07-30
      • 1970-01-01
      • 2020-03-25
      • 2013-12-08
      • 2013-04-25
      • 2019-04-18
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多