关于@RunWith注解的一点问题

简介: IDEA写springboot测试关于@Runwith的小问题

问题引入

今天在用IDEA写一个springboot测试的时候,碰到了一个问题。

@SpringBootTest
public class ServiceTest {

    @Autowired
    private IUserService userService;

    @Test
    public void testSelectById(){
        User byId = userService.getById(1);
        System.out.println(byId);
    }
}

当我运行的时候发现这个报错:
在这里插入图片描述
很显然就是没有注入bean,但是我已经写了自动注入和定义bean;

解决

方法一:在测试类上添加注解
@RunWith(SpringRunner.class)
方法二:把junit4改为版本5以上

<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
 <version>5.6.3</version>
<scope>test</scope>

疑惑解答

方法一:
@RunWith就是一个运行器
@RunWith(SpringRunner.class)会让测试运行于Spring测试环境
所以就会找到bean
方法二:
在 idea 中 会自动生成的,但是前提是junit在版本5以上

相关文章
|
运维 前端开发 NoSQL
使用Aliyun Java Intializr进行项目开发
本场景介绍Aliyun Java Intializr脚手架使用流程。
|
存储 物联网 数据处理
如何使用 Apache IoTDB UDF
【10月更文挑战第21天】使用 Apache IoTDB 的 UDF 可以为用户提供更大的灵活性和扩展性,帮助用户更好地处理和分析物联网数据。通过合理编写和使用 UDF,用户可以充分发挥 IoTDB 的潜力,实现更复杂、更高效的数据处理和分析任务。
275 2
|
测试技术
详解单元测试问题之@InjectMocks注解的执行逻辑如何解决
详解单元测试问题之@InjectMocks注解的执行逻辑如何解决
326 1
|
SQL Java 关系型数据库
spring data elasticsearch 打印sql(DSL)语句
spring data elasticsearch 打印sql(DSL)语句
878 0
tf.keras.layers.Dense
【8月更文挑战第20天】tf.keras.layers.Dense。
378 2
|
存储 Java 数据库
java spring boot 数据库密码解密
java spring boot 数据库密码解密
|
缓存 JavaScript 程序员
【奇葩问题】vue项目在谷歌浏览器开启开发者工具时部分接口报错500 Proxy error: Could not proxy request
【奇葩问题】vue项目在谷歌浏览器开启开发者工具时部分接口报错500 Proxy error: Could not proxy request
465 0
|
网络协议 Shell Android开发
Android 深入学习ADB调试原理(1)
Android 深入学习ADB调试原理(1)
975 1
|
算法 C++ 开发者
【Conan 入门问题】处理子文件夹中的conanfile.py
【Conan 入门问题】处理子文件夹中的conanfile.py
265 1
|
JavaScript
vue实现多个el-form表单提交统一校验的2个方法
vue实现多个el-form表单提交统一校验的2个方法
1083 0