特征矩阵
并非所有测试框架都支持所有功能,下表简要概述了支持状态:
特征 | JUnit3 | JUnit4 | JUnit47 | 测试NG | POJO | JUnit 5 平台 |
---|---|---|---|---|---|---|
组/类别/标签支持 | ñ | ñ | 是 | 是 | ñ | 是 |
安全经理支持 | 是 | ñ | ñ | ñ | ñ | ñ |
运行订单支持 | 是 | 是 | 是 | ? | 是 | 是 |
在一个类中运行 >1 个单独的测试方法 | ñ | 是 | 是 | 是 | ñ | ?(*1) |
并行支持 | ñ | ñ | 是 | 是 | ñ | N(*2) |
自定义运行监听器 | ñ | 是 | 是 | 是 | - | ñ |
重新运行计数 | ñ | 是 | 是 | ñ | ñ | Y(*3) |
失败计数后跳过 | ñ | 是 | 是 | 是 | ñ | ñ |
Surefire 扩展 | 是 | 是 | 是 | 是 | 是 | Y(*4) |
图注:“Y”表示支持,“N”表示不支持。“?” 表示未测试。
如果您想使用“N”或“?”实现对给定提供程序的支持 (或为其创建测试),您应该创建一个补丁并将问题标记为改进。如果标有“Y”的实现存在错误,则被视为错误。
(*1) JUnit 5 平台支持在单个类中运行多个单独的测试方法,但仍有一些不支持的极端情况:junit-team/junit5#1343和junit-team/junit5#1406)。
(*2) 测试并行执行,但报告仅支持一系列测试事件,请参阅问题SUREFIRE-1795。
(*3) 自 3.0.0-M4
(*4) 3 个与 JUnit5 注释相关的扩展DisplayName
。