【问题标题】:Why use JUnit test suites?为什么使用 JUnit 测试套件?
【发布时间】:2016-08-22 10:49:36
【问题描述】:

我将在一些即将到来的工作任务中使用 JUnit 实施一些单元测试。我对前任雇主的 JUnit 有一点经验,但是在我学习的时候,我遇到了一些测试套件。我不知道我是否会使用它们,但我对它们为什么存在特别感兴趣。

谁能给我一个我想使用测试套件的实际情况,以及使用测试套件与仅使用各种独立测试相比有什么优势?

编辑:我觉得这个问题不是重复的,因为类似问题的其他答案给出了一般定义或代码 sn-p(据我所知),我从设计的角度寻找更实用的套件。我想知道为什么将测试捆绑在一起可能是一个好主意,或者为什么它可能不是,等等。

【问题讨论】:

  • (致投票关闭它的人)好伤心。问题不是太宽泛。完全没问题!
  • What is TestSuite?的可能重复
  • @kryger,我和其他几个人都看到了。我对实际用途更感兴趣,并且比测试更有优势。似乎其他答案只是说明了测试套件是什么。我明白这一点,但我试图把它变成现实的术语,并真正理解你为什么要捆绑测试。我希望这更有意义。

标签: java unit-testing testing junit test-suite


【解决方案1】:

套件允许您运行多个测试类,您可以在其中执行整个套件之前和之后的例程。

想到需要设置数据库的测试,

  1. 在内存中加载数据库(您不能在每次单元测试前后都这样做)
  2. 运行所有测试用例
  3. 整个套件完成后在内存数据库中卸载。

    @RunWith(Suite.class)
    @Suite.SuiteClasses({
    MyUnitTests.class
    })
    public class MySuiteTest {
    
    @ClassRule
    public static H2TestRule h2TestRule = new H2TestRule();
    
    }
    

这里的H2TestRule 是整个套件的Rule,而不是单个测试用例。

【讨论】:

  • 除了数据库测试之外,另一个常见的分组是单元测试与集成测试。单元测试可以一直运行,而利用系统许多部分的集成测试可能是多余的。
  • @BillFrasure 现在我在工作中遇到了集成测试,这很有意义。谢谢!
猜你喜欢
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
  • 1970-01-01
  • 2022-08-20
  • 2016-09-23
  • 2012-12-04
  • 2020-02-27
相关资源
最近更新 更多