单元测试覆盖率

直接上代码:

package com.hello.user.controller;

import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
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.setup.MockMvcBuilders;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.context.WebApplicationContext;

@SpringBootTest(classes = HelloController.class)
class HelloControllerTest {

    @Autowired
    private WebApplicationContext webApplicationContext;

    private MockMvc mockMvc;
    private HttpHeaders httpHeaders;

    @Autowired
    private HelloController helloController;

    @BeforeEach
    public void init() {
        mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
        MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>();
        multiValueMap.add("name   ", "nameHHH");
        httpHeaders = new HttpHeaders();
        httpHeaders.addAll(multiValueMap);
    }

    @Test
    void hello() {
        try {
            MvcResult mvcResult = (MvcResult) mockMvc.perform(MockMvcRequestBuilders.post("/hello/test")
                            .headers(httpHeaders)
                            .content("{\"id\":100}")
                            .contentType(MediaType.APPLICATION_JSON))
                    .andReturn();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
//        assert helloController.hello(null) == null;
    }
}

package com.hello.user.controller;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.Date;

@RestController
@RequestMapping("/hello")
public class HelloController {

    @Value("${spring.application.name}")
    private String applicationName;
    @PostMapping("/test")
    public String hello(HttpServletRequest httpServletRequest, @RequestBody DataReq dataReq){
        if(null==httpServletRequest){
            System.out.println("req is null");
            return "null";
        }
        System.out.println("name:"+httpServletRequest.getHeader("name"));

        System.out.println("id:" + dataReq.getId());

        System.out.println(String.format("hello [%s] microservice console,time:[%s]",applicationName,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())));
        return String.format("hello [%s] microservice page,time:[%s],hello test",applicationName,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }

    @Data
    public class DataReq{
        private Long id;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值