现象
使用spring boot 2 运行单元测试时,爆出如下错误:

原因
在springboot2中默认单元测试框架升级到了junit5,当我们在导入@Test注解时会导入下面的包:
import org.junit.jupiter.api.Test;
如果你再加上@RunWith(SpringRunner.class) 或者@RunWith(SpringJUnit4ClassRunner.class) 注解,
spring会去找junit4的注解,但是又找不到,就会产生这个问题。
解决方案
针对这个问题有两种解决方式:
-
注解不变,将导入的
org.junit.jupiter.api.Test换成org.junit.Test。 -
导入的包不变,移除
@RunWith(SpringRunner.class)或者@RunWith(SpringJUnit4ClassRunner.class)注解,只保留
@SpringBootTest即可。
只保留@SpringBootTest即可。

在SpringBoot2中,默认单元测试框架升级到Junit5,如果混用@Test注解和@RunWith(SpringRunner.class),会导致找不到junit4注解的错误。解决办法是将@Test替换为org.junit.Test,或者移除@RunWith注解,仅保留@SpringBootTest。
1820

被折叠的 条评论
为什么被折叠?



