单元测试覆盖率
·
直接上代码:
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)