我将大约1000个JUnit测试转换为
@Test(expected=SomeException.class)
public void testIt() throws SomeException {
doSomeStuff();
}
JUnit Jupiter API
@Test
void testIt() {
Assertions.assertThrows(SomeException.class, () -> {
doSomeStuff();
});
}
在Intellij中,我知道有一些“环绕”魔法,活模板,或者其他可以使这个过程更加自动化的东西?
我总是可以写一个脚本或其他东西,但我认为可能有一种方法可以利用Intellij的内置功能来使其更容易。
有什么想法吗
1条答案
按热度按时间wbgh16ku1#
将多个Junit 4测试迁移到Junit 5的一种方法是OpenRewrite。
它将为Migrating Junit4 to Junit5等常见任务提供多个预定义的配方。
如果你有一个没有spring的maven项目,你可以将以下内容添加到你的
pom.xml
中。快速解释:
这一部分激活了重写junit recipe,它位于依赖项
org.openrewrite.recipe:rewrite-testing-frameworks
中。如果你使用的是Spring或Spring-Boot,你将需要激活的recipe
org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
和以下依赖项。如果您正在使用Gradle,请查看offical documenation。
通过
mvn rewrite:dryRun
,您可以在.patch
文件中看到结果。通过
mvn rewrite:run
将完成迁移。如果你有一个VCS,你可以在不做试运行的情况下运行,因为你可以在VCS的diff工具中看到差异。