为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉风的咖菲猫 2021-07-06 21:21:14
我正在使用 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 方法......)。
查看完整描述

2 回答

?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

您可以通过执行以下操作来执行测试(刚刚检查了当前场景):

  1. 创建新的 Eclipse Java 项目

  2. 将 junit 和 hamcrest jars 添加到您的构建路径中(我使用的是junit-4.12hamcrest-core-1.3)。它应该看起来:

//img1.sycdn.imooc.com//610269130001c50e03540198.jpg

在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执行。结果应该是:

//img1.sycdn.imooc.com//6102692200019b4c06220116.jpg

我的环境配置是:


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)

希望这会有所帮助


查看完整回答
反对 回复 2021-07-29
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

以下代码最终为我工作。


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());

        }

    }

}


查看完整回答
反对 回复 2021-07-29
  • 2 回答
  • 0 关注
  • 228 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信