如何将 JUnit 测试用例导出到可执行文件 .jar 中?

我正在使用 Selenium 和 JUnit 来自动化一些测试。我希望能够将其导出到一个可运行的 jar 文件中。我不能,我假设这是因为没有 main 方法,JVM 不知道要运行什么......

我看到这篇文章如何将 (JUnit) 测试套件导出为可执行 jar,它建议添加一个 main 并从那里运行 JUnit。(我本来会评论那个帖子的,但它没有让我😢)

public static void main(String[] args) {
    JUnitCore.main("folder.package.testClass");
    }

我用这个 main 方法创建了一个新的 java 类,但从未执行过测试类(来自 eclipse)。此外,如果我尝试导出项目,则会出现错误并且无法导出。

为了将所有 JUnit 类导出到 1 个 Jar 文件并从那里运行,我能做到这一点的最佳方法是什么?我可能会构建一个小菜单,用户可以在其中选择他们想要运行的测试类(我假设在某些地方需要一个 main 方法......)。


拉风的咖菲猫
浏览 229回答 2
2回答

鸿蒙传说

您可以通过执行以下操作来执行测试(刚刚检查了当前场景):创建新的 Eclipse Java 项目将 junit 和 hamcrest jars 添加到您的构建路径中(我使用的是junit-4.12和hamcrest-core-1.3)。它应该看起来:在test文件夹下创建您的测试:package com.example.junit5;import static org.junit.Assert.assertTrue;import org.junit.Test;public class FirstTest {    @Test    public void testTrue() {        System.out.println("Executing testTrue()");        assertTrue(true);          }}在src文件夹下创建您的 main(executor) 类:package com.example.junit5;import org.junit.runner.JUnitCore;public class Executor {    public static void main(String[] args) {        JUnitCore.main("com.example.junit5.FirstTest");    }}将您的测试作为Java Application执行。结果应该是:我的环境配置是:java version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)希望这会有所帮助

幕布斯7119047

以下代码最终为我工作。package myPackageName;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;public class testRunner {    public static void main(String[] args) {        Result result = JUnitCore.runClasses(AllTests.class);        for (Failure failure : result.getFailures()) {            System.out.println(failure.toString());        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java