等效于 JUnit5 的 @RunWith(JUnitPlatform.class)
Posted
技术标签:
【中文标题】等效于 JUnit5 的 @RunWith(JUnitPlatform.class)【英文标题】:Equivalent for @RunWith(JUnitPlatform.class) for JUnit5 【发布时间】:2019-12-19 02:30:22 【问题描述】:在我的项目中,我正在做一些清理工作并决定将所有内容移至 JUnit5。
到目前为止,我一直在使用
@RunWith(JUnitPlatform.class)
现在我想将它迁移到@ExtendWith。这个 JUnitPlatform.class 在 JUnit5 中是否有任何等价物?
【问题讨论】:
如果您想知道 JUnit5 中的@RunWith(SpringRunner.class)
,请参阅 ***.com/questions/60369022/…
【参考方案1】:
使用 junit 5 时不再需要它。
在junit documentation 中声明:
使用 @RunWith(JUnitPlatform.class) 注释类允许它与 IDE 一起运行,并构建支持 JUnit 4 但尚不直接支持 JUnit 平台的系统。
因此,由于您正在迁移到 junit 5,我想您的构建系统/IDE 支持它。因此,您不再需要注释。
【讨论】:
好的,谢谢。我有另一个快速的问题。 CamelSpringBootRunner 和 CamelSpringRunner 还没有迁移,我不能像 JUnitPlatform 一样简单地删除它? 那时您将无法将它们迁移到junit 5。 (直到 Camel 决定解决这个问题:issues.apache.org/jira/browse/CAMEL-11807) 那么如果我想用 Robolectric 运行一个 android 项目测试我会怎么做?我通常会做@RunWith(RobolectricTestRunner::class)
【参考方案2】:
JUnit4 @RunWith
在 JUnit5 中已被 @ExtendWith
替换为来自 https://www.baeldung.com/junit-5-runwith 的内容
【讨论】:
以上是关于等效于 JUnit5 的 @RunWith(JUnitPlatform.class)的主要内容,如果未能解决你的问题,请参考以下文章
何时使用 @RunWith 以及何时使用 @ExtendWith
@IfProfileValue 不适用于 JUnit 5 SpringExtension