我正在尝试使用JUnit5创建测试套件。经过一些研究后,我无法断定它是否是受支持的功能。
official user guide仅提及套件与JUnit 4的向后兼容性。
这是在JUnit 4中完成的:
@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {
}
这是否意味着,测试套件现在被视为已弃用,或者是否仍以其他名称提供相同的概念?
答案 0 :(得分:8)
这是否意味着,测试套件现在被视为已弃用,或者是否仍以其他名称提供相同的概念?
苦涩套件答案:
事实上,在JUnit 5中支持测试套件,但它几乎肯定不是你想要的。但是,JUnit团队正在开发一些可能适合您需求的工作。
详细答案:
从JUnit 5.2开始,对 suites 的唯一内置支持是通过JUnitPlatform
Runner (通过@RunWith(JUnitPlatform.class)
注册)。该运行器实际上启动了JUnit平台(a.k.a.,JUnit 5基础结构),并允许您针对各种编程模型(如JUnit 4和JUnit Jupiter)执行测试。它还允许您选择各种内容(例如,类,包等)并配置包含和排除过滤器(例如,用于标签或测试引擎)。
跑步者的问题是它可以不直接在JUnit平台上执行。它只能 使用JUnit 4自行执行。这意味着您失去了JUnit平台的完整报告功能,因为从JUnit平台到JUnit 4的转换中丢失了信息。
总之,您可以在技术上使用JUnitPlatform
运行器来使用JUnit 5执行套件,并且测试将执行,但IDE中的报告和显示将不是最理想的。
从好的方面来说,JUnit团队计划为JUnit 5中的套件提供内置支持,它不会遇到JUnit 4的JUnitPlatform
运行器的缺点。有关详细信息,请参阅分配给的所有问题"suites" label on GitHub。
此外,您还可以查看feature branch consumed in a Maven or Gradle build via JitPack。
此致
Sam(JUnit 5核心提交者)