在IntelliJ中将特定测试从JUnit 4迁移到JUnit 5

Ran*_*zki 8 java junit intellij-idea junit5

我正在尝试使用IntelliJ重构代码 - > migrate - > junit 4到junit 5将测试文件从Junit 4迁移到Junit 5.

但它只运行导入优化并显示项目中的所有单元测试,并在重构时询问是或否,当我选择重构时没有任何反应.

任何人都知道另一个迁移工具/插件或使迁移工作的方式?

Sam*_*nen 8

Jeanne Boyarsky创建了一个工具,将基于JUnit 4的测试转换为JUnit Jupiter.

您可以在她的GitHub帐户中找到它:https://github.com/boyarsky/convert-junit4-to-junit5


Geo*_*met 5

使用openrewrite

mvn org.openrewrite.maven:rewrite-maven-plugin:4.36.0:run -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-testing-frameworks:1.28.0 -Drewrite.activeRecipes=org.openrewrite.java.testing.junit5.JUnit5BestPractices
Run Code Online (Sandbox Code Playgroud)

它会自动从 JUnit 4 迁移到 JUnit 5,而无需修改您的代码风格。


saw*_*303 2

似乎在 IntelliJ 2017.3 中将测试从 JUnit 4 转换为 JUnit 5 尚未完成。正如 Sam Brannen 所建议的,Github 上有一个名为convert-junit4-to-junit5的小应用程序可以完成这项工作。

只需克隆 Github 存储库并使用 Maven 构建软件即可mvn clean package。然后使用运行应用程序

java -jar \
     <path-to-your-cloned-repo>/convert-junit4-to-junit5/target/convert-junit4-to-to-junit5-0.0.1-SNAPSHOT.jar \
     <path to where your JUnit 4 tests are located>
Run Code Online (Sandbox Code Playgroud)

如需进一步说明,请阅读项目文档