为什么要使用JUnit测试套件?

Kyl*_*let 20 java testing junit unit-testing test-suite

我将在即将完成的一些工作任务中使用JUnit实现一些单元测试.我从前任雇主那里获得了JUnit的轻微经验,但在我读书的时候,我遇到了测试套件.我不知道我是否会使用它们,但我特别感兴趣的是它们为什么存在.

有人能给我一个我想要使用测试套件的实际情况吗?还有,使用测试套件有什么好处而不是仅使用各种独立测试?

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

Sle*_*idi 21

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

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

  1. 在内存中加载数据库(在每次单元测试之前和之后都无法负担)
  2. 运行所有测试用例
  3. 整个套件完成后卸载内存数据库.

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

H2TestRuleRule整个套件而不是单个测试用例.

  • 除了DB测试之外,另一个常见的分组是单元测试与集成测试.单元测试可以很好地一直运行,而利用系统的许多部分的集成测试可能是过度的. (6认同)