我的目标是为端点编写自动化测试。其目的是检查sql注入的端点漏洞。
当前的里程碑是发送一个没有正文的请求。预期结果是java应用程序将打印一个警告日志(此警告日志是由 Postman 的请求引起的):
2020-11-14 15:31:17.801 WARN 18240 --- [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: Required request body is missing: public org.springframework.http.ResponseEntity<?> com.example.bankaccount.controller.LoginController.login(com.example.bankaccount.model.User_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());
}
}
暂无答案!
目前还没有任何答案,快来回答吧!