springboot测试controller

该代码片段展示了如何使用SpringBoot的测试框架进行MockMvc配置,以测试一个更新博客的RESTAPI接口。测试中创建了一个JSONObject,包含了blogId,title,body和userId,然后执行PUT请求到/api/blog/update路径。
摘要由CSDN通过智能技术生成

代码

package com.example.springboot;

import java.io.UnsupportedEncodingException;

import org.junit.Before;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
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.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import com.example.springboot.entity.Blog;

import lombok.extern.slf4j.Slf4j;
import net.minidev.json.JSONObject;

@SpringBootTest(classes = {Application.class})
@Slf4j
@RunWith(SpringRunner.class)
@AutoConfigureMockMvc
class ApplicationTests {

    @Autowired
    MockMvc mockMvc;

    @Test
    public void testget() {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("blogId", "2");
        jsonObject.put("title", "IKUN");
        jsonObject.put("body", "ikunyyds");
        jsonObject.put("userId", "1");


        MvcResult mvcResult = null;
        try {
            mvcResult = mockMvc.perform(
            MockMvcRequestBuilders.put("/api/blog/update"). // 访问路径
            contentType(MediaType.APPLICATION_JSON).
            content(jsonObject.toString())). // 传入request参数
            andReturn();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

       
    }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值