【问题标题】:Inheritable "Generic" JUnit 4 test suite可继承的“通用”JUnit 4 测试套件
【发布时间】:2012-12-08 20:38:46
【问题描述】:

我想创建一个“通用”JUnit 4 测试,可以按如下方式使用:

  • 它是一个抽象基类
  • 可以打包成jar文件
  • 用户可以将 jar 作为依赖项包含在自己的项目中
  • 用户可以通过扩展抽象类并为关键方法添加实现来创建自己的 JUnit 测试
  • 然后,当用户在自己的项目上运行 JUnit 时,JUnit 测试将运行(以及用户可能编写的任何其他 JUnit 测试)
  • 测试套件可能会通过运行不同的子测试返回多个结果,理想情况下,用户应该能够在他们的 IDE 中看到这种结果细分

这样做的动机是该类定义了一个标准测试程序,该程序可能在许多不同的项目中都很有用,但在每种情况下都需要用户进行一些自定义。

JUnit 4 可以做到这一点,如果可以,我应该怎么做?

【问题讨论】:

  • 您描述的是技术特性,而不是您的抽象测试套件的实际作用。也许你真的想做某事。使用 JUnit Runner 或 JUnit Rules 来扩展功能?根据您的问题不确定。

标签: java inheritance junit


【解决方案1】:

是的,这是可能的。您只需创建抽象类,将其打包到 jar 中,将该 jar 提供给用户或将其存储在可以下载的地方。

然后用户将 jar 放入他们自己的项目中并创建抽象类的子类。他们会使用他们的 IDE(或任何其他方式)来运行这些扩展抽象类的测试类,并且 IDE 会显示所有测试的结果,通常使用树。

这看起来像是重复了您在问题中提出的所有问题,但这样做的方法就像您在问题中解释的那样。没什么好补充的。

【讨论】:

    【解决方案2】:

    也许这可以为您提供一个起点:Writing base class for your tests
    只需像其他类一样将它打包在一个罐子里,就可以开始了。

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 1970-01-01
      • 2011-03-02
      • 2012-02-07
      • 2021-12-12
      • 2013-11-04
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      相关资源
      最近更新 更多