SpringBootTest 学习笔记

简介: SpringBootTest 学习笔记

SpringBootTest 学习笔记


前言


版本说明

platform-bom=Cairo-SR7


相关链接



实战演练

package top.simba1949.web.controller;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
/**
 * @RunWith(SpringRunner.class) 告诉JUnit使用Spring的测试支持
 * @SpringBootTest 使用Spring Boot支持的引导,需要加载springboot的配置文件
 *
 * @Author Theodore
 * @Date 2019/12/2 15:15
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
    /**
     * 伪造 MVC 环境
     */
    @Autowired
    private WebApplicationContext webApplicationContext;
    private MockMvc mockMvc;
    @Before
    public void init(){
        mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
    }
    /**
     *  MockMvcRequestBuilders 创建请求方式
     * @throws Exception
     */
    @Test
    public void whenQuerySuccess() throws Exception {
        ResultActions resultActions = mockMvc.perform(
                // 创建一个请求
                MockMvcRequestBuilders.get("/user")
                        // 添加 contentType 信息
                        .contentType(MediaType.APPLICATION_JSON_UTF8)
                        // 添加请求参数
                        .param("username", "test")
        );
        resultActions
                // 执行结果期望
                .andExpect(MockMvcResultMatchers.status().isOk())
                // jsonPath 参考 https://github.com/json-path/JsonPath
                .andExpect(MockMvcResultMatchers.jsonPath("$.length()").value(3));
    }
}


目录
相关文章
|
2月前
|
Java 测试技术 Maven
成功解决:nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
这篇文章介绍了解决Spring框架中出现的`java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource`错误的步骤,指出错误原因是缺少`spring-aop`模块的jar包,并提供了通过Maven依赖或手动添加jar包到项目中的方法来解决这个问题。
成功解决:nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
|
2月前
|
Java
java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 增样将jar包导入
文章记录了解决Java项目中遇到的`java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter`异常的方法,即通过在项目的`WEB-INF`文件夹下创建与`classes`平级的`lib`文件夹并添加所需的jar包来解决。
java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter 增样将jar包导入
|
2月前
|
JSON 前端开发 Java
SpringBootWeb案例-1(一)
SpringBootWeb案例-1(一)
30 0
|
3月前
|
Java 数据库 索引
【Java】已解决Spring框架中的org.springframework.dao.DuplicateKeyException异常
【Java】已解决Spring框架中的org.springframework.dao.DuplicateKeyException异常
82 0
|
12月前
|
Java
解决出现的java: 无法访问org.springframework.boot.SpringApplication问题~
解决出现的java: 无法访问org.springframework.boot.SpringApplication问题~
524 0
|
5月前
|
安全 Java 数据库连接
java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/YamlProcessor$StrictMapAppe
java.lang.NoClassDefFoundError: org/springframework/beans/factory/config/YamlProcessor$StrictMapAppe
43 0
|
12月前
|
Java Spring
【Spring】org.springframework.util.StringUtils工具类中commaDelimitedListToStringArray的使用
【Spring】org.springframework.util.StringUtils工具类中commaDelimitedListToStringArray的使用
58 0
|
easyexcel Java API
POI及EasyExcel【Java提高】
POI及EasyExcel【Java提高】
501 0
java.lang.NoClassDefFoundError: org/springframework/core/metrics/ApplicationStartup
java.lang.NoClassDefFoundError: org/springframework/core/metrics/ApplicationStartup
470 0
|
IDE Java Maven
Error:(5, 45) java: 程序包org.springframework.boot.test.context不存在 (超级好用,不好用,你找我)
Error:(5, 45) java: 程序包org.springframework.boot.test.context不存在 (超级好用,不好用,你找我)
653 0
Error:(5, 45) java: 程序包org.springframework.boot.test.context不存在 (超级好用,不好用,你找我)