等效于 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)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JUnit5 中使用 Mockito

何时使用 @RunWith 以及何时使用 @ExtendWith

全网最全:Junit5的@Suite注解-上

@IfProfileValue 不适用于 JUnit 5 SpringExtension

Junit4 Suite.SuiteClasses升级 junit5

测试套件在 JUnit5 中是不是被认为已弃用?