Java 为什么JUnit MockMvcRequestBuilders没有发送请求?
我的目标是为端点编写自动化测试。其目的是检查SQL注入的端点漏洞 当前的里程碑是发送一个没有正文的请求。 预期结果是Java应用程序将打印一个警告日志(此警告日志是由邮递员的请求引起的):Java 为什么JUnit MockMvcRequestBuilders没有发送请求?,java,spring,spring-boot,junit,Java,Spring,Spring Boot,Junit,我的目标是为端点编写自动化测试。其目的是检查SQL注入的端点漏洞 当前的里程碑是发送一个没有正文的请求。 预期结果是Java应用程序将打印一个警告日志(此警告日志是由邮递员的请求引起的): 2020-11-14 15:31:17.801 WARN 18240---[nio-8080-exec-2].w.s.m.s.DefaultHandlerExceptionResolver:Resolved[org.springframework.http.converter.httpMessageNodeA
2020-11-14 15:31:17.801 WARN 18240---[nio-8080-exec-2].w.s.m.s.DefaultHandlerExceptionResolver:Resolved[org.springframework.http.converter.httpMessageNodeAbleException:缺少必需的请求正文:public org.springframework.http.ResponseEntity.com.example.bankaccount.controller.LoginController.login(com.example.bankaccount.model.User\u LoginModel)]
实际结果是,Java应用程序未打印警告日志/未发出任何请求
src/java/com.example.bankaccount/controller/LoginControllerTest.java
package com.example.bankaccount.controller;
import org.junit.jupiter.api.Test;
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.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@SpringBootTest
@AutoConfigureMockMvc
class LoginControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
void login() throws Exception {
// Map<String, String> requestBody = new HashMap<>();
// requestBody.put("User_ID", "abcd1234");
// requestBody.put("PIN", "123456");
this.mockMvc.perform(
MockMvcRequestBuilders.post("/api/v1/login")
// .contentType(MediaType.APPLICATION_JSON)
// .content(requestBody.toString())
)
.andExpect(MockMvcResultMatchers.status().isOk());
}
}
package com.example.bankaccount.controller;
导入org.junit.jupiter.api.Test;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
导入org.springframework.boot.test.context.SpringBootTest;
导入org.springframework.test.web.servlet.MockMvc;
导入org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
导入org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@春靴测试
@AutoConfigureMockMvc
类LoginControllerTest{
@自动连线
私有MockMvc-MockMvc;
@试验
void login()引发异常{
//Map requestBody=new HashMap();
//requestBody.put(“用户ID”、“abcd1234”);
//requestBody.put(“PIN”,“123456”);
this.mockMvc.perform(
MockMvcRequestBuilders.post(“/api/v1/login”)
//.contentType(MediaType.APPLICATION_JSON)
//.content(requestBody.toString())
)
.andExpect(MockMvcResultMatchers.status().isOk());
}
}
package com.example.bankaccount.controller;
import org.junit.jupiter.api.Test;
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.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@SpringBootTest
@AutoConfigureMockMvc
class LoginControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
void login() throws Exception {
// Map<String, String> requestBody = new HashMap<>();
// requestBody.put("User_ID", "abcd1234");
// requestBody.put("PIN", "123456");
this.mockMvc.perform(
MockMvcRequestBuilders.post("/api/v1/login")
// .contentType(MediaType.APPLICATION_JSON)
// .content(requestBody.toString())
)
.andExpect(MockMvcResultMatchers.status().isOk());
}
}