springboot中使用junit测试搭建以及常见问题

springboot项目中使用junit测试

简单介绍一下在boot项目中集成junit,会出现的一些问题以及解决方案。

搭建过程:

在pom中引入经典版本的4.12的junit依赖

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>

接着在test文件下创建测试类

public class DemoApplicationTests {
    
    

    @Test
  public void contextLoads() {
    
    
  
    }

}

上面完成了基本工作

添加关键注解:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class DemoApplicationTests {
    
    

    @Test
  public void contextLoads() {
    
    

        System.out.println("hello Junit!");
    }

}

这里可以看到,添加了两个注解,@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest

在SSM项目中,我们使用junit是用的这两个注解:
@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {“classpath:applicationContext.xml”}
(需要指定spring的配置文件)

而在boot中可以使用@SpringBootTest,会自动去读取我们boot的配置文件

正常运行如下:

启动boot项目,调用其controller中的一个方法,进行测试。

@RestController
public class UserController {
    
    

    @RequestMapping("/user")
    public String gets() {
    
    
        return "hello";
    }

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class DemoApplicationTests {
    
    

    @Autowired
    private UserController userController;

    @Test
    public void contextLoads() {
    
    

        String gets = userController.gets();
        System.out.println(gets);
    }

}

正常输出hello
如果不加@RunWith(SpringJUnit4ClassRunner.class),
则会报npe异常
在这里插入图片描述
如果添加了@ContextConfiguration(locations = “classpath:application.properties”),
会报前言中不允许有内容
在这里插入图片描述
如果不加@SpringBootTest,
会报注解问题

注解问题

至此,完成boot集成junit,以及一些常见问题。

猜你喜欢

转载自blog.csdn.net/qq_38653981/article/details/117107800
今日推荐