现象

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

在这里插入图片描述

原因

springboot2中默认单元测试框架升级到了junit5,当我们在导入@Test注解时会导入下面的包:

import org.junit.jupiter.api.Test;

如果你再加上@RunWith(SpringRunner.class) 或者@RunWith(SpringJUnit4ClassRunner.class) 注解,

spring会去找junit4的注解,但是又找不到,就会产生这个问题。

解决方案

针对这个问题有两种解决方式:

  1. 注解不变,将导入的org.junit.jupiter.api.Test 换成org.junit.Test

  2. 导入的包不变,移除@RunWith(SpringRunner.class) 或者@RunWith(SpringJUnit4ClassRunner.class) 注解,

    只保留@SpringBootTest即可。

只保留@SpringBootTest即可。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐