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

将多个 JUnit 类导出到单个可执行 jar 中

将多个 JUnit 类导出到单个可执行 jar 中

梦里花落0921 2021-08-04 10:09:52
我正在努力export JUnit classes into 1 executable JAR。我不能这样做,因为它没有main.我尝试过的:我尝试制作一个 testingSuite,但效果不佳。我可以从 Eclipse 运行 JUnit 类,我也可以运行 testingSuite - 它也调用我告诉它的所有 JUnit 类 - 它们在 Eclipse 中工作正常。请注意,我必须使用 JUnit4 才能使用 testingSuite。由于我也无法导出 testingSuite,我尝试使用一个调用 testingSuite 的主要方法创建一个新类,但我无法从 Eclipse 运行它。我已经浏览了 Stack Overflow 和其他网站大约 2 天了,所以现在我将发布 =)。任何人都知道如何将多个 JUnit 测试类导出到 1 个可以在打开时运行所有类的可执行 Jar?
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我能够通过regular class调用 my来使其工作,Test Suite Class该调用调用了 my JUnit Test Classes. 我不知道为什么它以前不起作用,但是这次当我尝试导出时,那里有一个新选项。


下面的解决方案


JUnit 测试套件类(运行我放入@SuiteClasses 的所有测试类,由“TestRunner”类调用)


package myPackageName; 


import org.junit.runner.RunWith;

import org.junit.runners.Suite;

import org.junit.runners.Suite.SuiteClasses;


@RunWith(Suite.class)

@SuiteClasses({ TestClass1.class, TestClass2.class })

public class AllTests {    

}

TestRunner Class,导出到可执行 jar 中的类。这是缺失的部分,没有它,导出将无法进行。


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

        }

    }

}

导出步骤

  1. 点击文件,点击导出

  2. 打开java文件夹,点击'Runnable JAR file',点击下一步

  3. 启动配置下拉菜单显示了一个选项“myPackageName - TestRunner”。这是我能够选择包含将由 JAR 运行的主要方法的类的地方。(我之前遇到的问题,它不存在,如果我选择了其他出现的类,它会出现导出错误)。

  4. 我使用“将所需的库打包到生成的 JAR 中”选项进行库处理,我认为它是正确的,因为我有 selenium 库。

  5. 单击完成

  6. 通过打开 Windows 资源管理器并单击它来运行 JAR。或者,打开 CMD,cd 到文件目录,然后运行java -jar myJarName.jar.


查看完整回答
反对 回复 2021-08-04
?
慕斯709654

TA贡献1840条经验 获得超5个赞

如果你的目标是运行一些 selenium 测试并且你的测试不是太大,为什么不使用selenium ide(firefox 插件,这里是 chrome)?

这取决于您是否希望这些测试具有可维护性和进化性,但如果它们只是为了检查事情是否仍然有效,请尝试一下。此外,它还允许您的 BA 编写自己的测试。无需了解编程,只需点击即可。有点。

整个端到端测试的维护成本非常高,但如果您的应用程序在表面(其 UI)上没有太多发展,那么它可能是值得的。

有关一般测试的深入文章,包括测试金字塔,请阅读Martin Fowler 的这篇文章,非常好。


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 231 浏览

添加回答

举报

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