关于@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以上

相关文章
|
8月前
|
Java 数据库连接 数据库
什么时候用@MapperScan 注解?
什么时候用@MapperScan 注解?
285 0
|
8月前
|
安全 前端开发 Java
注解的使用
注解的使用
74 0
|
Java 编译器 数据库连接
注解
注解是JAVA5引入JAVA的一个特性,理解起来会有点抽象,这里笔者先给出自己对注解的一个理解——注解就是一张便签! 其次要有一个概念就是注解的应用是基于反射的。 本文举出的三个实例中例1和例3是引用其它的优秀文献 出处为how2J以及 https://blog.csdn.net/briblue/article/details/73824058一文
78 0
|
Java 编译器
关于@FunctionalInterface注解
FunctionalInterface
492 0
关于@FunctionalInterface注解
|
Java 编译器 Spring
什么是注解
什么是注解
|
存储 JSON Java
一文学会注解的正确使用姿势
一文学会注解的正确使用姿势
一文学会注解的正确使用姿势
|
Java 程序员 开发工具
扒一扒@Retryable注解,很优雅,有点意思! (1)
扒一扒@Retryable注解,很优雅,有点意思! (1)
388 0
扒一扒@Retryable注解,很优雅,有点意思! (1)
扒一扒@Retryable注解,很优雅,有点意思! (3)
扒一扒@Retryable注解,很优雅,有点意思! (3)
515 0
扒一扒@Retryable注解,很优雅,有点意思! (3)
|
Java Maven
扒一扒@Retryable注解,很优雅,有点意思! (5)
扒一扒@Retryable注解,很优雅,有点意思! (5)
279 0
扒一扒@Retryable注解,很优雅,有点意思! (5)
扒一扒@Retryable注解,很优雅,有点意思! (4)
扒一扒@Retryable注解,很优雅,有点意思! (4)
233 0
扒一扒@Retryable注解,很优雅,有点意思! (4)