为什么使用 JUnit 测试套件?
Why use JUnit test suites?
我将在一些即将到来的工作任务中使用 JUnit 实施一些单元测试。我以前的雇主对 JUnit 有一点经验,但在学习期间,我遇到了测试套件。我不知道我是否会使用它们,但我对它们为什么存在特别感兴趣。
谁能给我一个我曾经想使用测试套件的实际情况,以及使用测试套件与仅使用各种独立测试相比有什么优势?
编辑: 我觉得这个问题不是重复的,因为类似问题的其他答案给出了一般定义或代码片段(据我所知)和我正在从设计的角度寻找更实用的套件。我想知道为什么将测试捆绑在一起可能是个好主意,或者为什么不是,等等。
套件允许您 运行 多重测试 类,您可以在其中执行整个套件前后的例程。
想到需要数据库设置的测试,
- 在内存中加载一个数据库(你不能在每次单元测试前后都这样做)
- 运行 所有测试用例
整个套件完成后卸载内存数据库。
@RunWith(Suite.class)
@Suite.SuiteClasses({
MyUnitTests.class
})
public class MySuiteTest {
@ClassRule
public static H2TestRule h2TestRule = new H2TestRule();
}
此处 H2TestRule
是整个套件的 Rule
而不是单个测试用例。
我将在一些即将到来的工作任务中使用 JUnit 实施一些单元测试。我以前的雇主对 JUnit 有一点经验,但在学习期间,我遇到了测试套件。我不知道我是否会使用它们,但我对它们为什么存在特别感兴趣。
谁能给我一个我曾经想使用测试套件的实际情况,以及使用测试套件与仅使用各种独立测试相比有什么优势?
编辑: 我觉得这个问题不是重复的,因为类似问题的其他答案给出了一般定义或代码片段(据我所知)和我正在从设计的角度寻找更实用的套件。我想知道为什么将测试捆绑在一起可能是个好主意,或者为什么不是,等等。
套件允许您 运行 多重测试 类,您可以在其中执行整个套件前后的例程。
想到需要数据库设置的测试,
- 在内存中加载一个数据库(你不能在每次单元测试前后都这样做)
- 运行 所有测试用例
整个套件完成后卸载内存数据库。
@RunWith(Suite.class) @Suite.SuiteClasses({ MyUnitTests.class }) public class MySuiteTest { @ClassRule public static H2TestRule h2TestRule = new H2TestRule(); }
此处 H2TestRule
是整个套件的 Rule
而不是单个测试用例。