步骤如下:
- pom.xml中添加junit5依赖(不再兼容junit4),删除junit4依赖
- 替换代码。【不建议,操作繁琐】在idea中ctrl+shift+R全局替换,替换时只选java文件
- org.junit.Test -> org.junit.jupiter.api.Test
- @BeforeClass -> @BeforeAll
- org.junit.BeforeClass -> org.junit.jupiter.api.BeforeAll
- @After -> @AfterAll
- org.junit.After -> org.junit.jupiter.api.AfterAll
- @Before -> @BeforeAll
- org.junit.Before -> org.junit.jupiter.api.BeforeAll
- @After -> @AfterAll
- org.junit.After -> org.junit.jupiter.api.AfterAll
- org.junit.Assert -> org.junit.jupiter.api.Assertions
- 替换代码。【建议,命令行操作】使用sed替换。
# 替换import
find ./ -type f -name "*.java" | xargs -I file sed -i "s/org.junit.Test/org.junit.jupiter.api.Test/g" file
# 替换@BeforeClass
find ./ -type f -name "*.java" | xargs -I file sed -i "s/@BeforeClass/@BeforeAll/g" file
# 替换BeforeClass的全包名
find ./ -type f -name "*.java" | xargs -I file sed -i "s/org.junit.BeforeClass/org.junit.jupiter.api.BeforeAll/g" file
# 替换@AfterClass
find ./ -type f -name "*.java" | xargs -I file sed -i "s/@AfterClass/@AfterAll/g" file
# 替换AfterClass的全包名
find ./ -type f -name "*.java" | xargs -I file sed -i "s/org.junit.AfterClass/org.junit.jupiter.api.AfterAll/g" file
# 替换@Before
find ./ -type f -name "*.java" | xargs -I file sed -i "s/@Before/@BeforeEach/g" file
# 替换Before的全包名
find ./ -type f -name "*.java" | xargs -I file sed -i "s/org.junit.Before/org.junit.jupiter.api.BeforeEach/g" file
# 替换@Before为@BeforeEach时,会把@BeforeAll替换@BeforeEachAll,此处再替换回来
find ./ -type f -name "*.java" | xargs -I file sed -i "s/@BeforeEachAll/@BeforeAll/g" file
find ./ -type f -name "*.java" | xargs -I file sed -i "s/@After/@AfterEach/g" file
find ./ -type f -name "*.java" | xargs -I file sed -i "s/org.junit.After/org.junit.jupiter.api.AfterEach/g" file
# 替换@After为@AfterEach时,会把@AfterAll替换@AfterEachAll,此处再替换回来
find ./ -type f -name "*.java" | xargs -I file sed -i "s/@AfterEachAll/@AfterAll/g" file
# 替换assert
find ./ -type f -name "*.java" | xargs -I file sed -i "s/Assert.assert/Assertions.assert/g" file
# 替换assert的包名
find ./ -type f -name "*.java" | xargs -I file sed -i "s/org.junit.Assert/org.junit.jupiter.api.Assertions/g" file
find ./ -type f -name "*.java" | xargs -I file sed -i "s/Assertions.assertThat/MatcherAssert.assertThat/g" file