Spring Boot Controller 유닛 테스트 작성
//Controller
@RestController
public class UserController {
@Resource
private UserRepository userRepository;
@PostMapping("/users")
public String save(User user){
userRepository.save(user);
return "SUCCESS";
}
@DeleteMapping("/users/{id}")
public String delete(@PathVariable(name = "id") Integer id){
userRepository.deleteById(id);
return "SUCCESS";
}
@GetMapping("/users/{id}")
public User findOne(@PathVariable(name = "id") Integer id){
return userRepository.findById(id).get();
}
@PutMapping("/users")
public User update(User user){
userRepository.save(user);
return userRepository.getOne(user.getId());
}
}
컨트롤 러 층 테스트 용례:
@RunWith(SpringRunner.class)
@SpringBootTest
//@ActiveProfiles("dev")
@AutoConfigureMockMvc
public class UserControllerTest {
@Autowired
private MockMvc mvc;
@Test
@Transactional//
//@Rollback(false)
public void testInsert() throws Exception {
MockHttpServletRequestBuilder request = MockMvcRequestBuilders.post("/users");
request.param("name","laiminghai");
mvc.perform(request).
andExpect(MockMvcResultMatchers.status().isOk()).
andExpect(MockMvcResultMatchers.content().string("SUCCESS"));
}
@Test
@Transactional
//@Rollback(false)
public void testDelete() throws Exception{
MockHttpServletRequestBuilder request = MockMvcRequestBuilders.delete("/users/18");
mvc.perform(request).andExpect(MockMvcResultMatchers.status().isOk()).
andExpect(MockMvcResultMatchers.content().string("SUCCESS"));
}
@Test
public void testFindOne() throws Exception{
MockHttpServletRequestBuilder request = MockMvcRequestBuilders.get("/users/2");
mvc.perform(request).andExpect(MockMvcResultMatchers.status().isOk()).
andExpect(MockMvcResultMatchers.content().
string("{\"id\":2,\"name\":\"xiaoming2\"}"));
}
@Test
public void testUpdate() throws Exception{
MockHttpServletRequestBuilder request = MockMvcRequestBuilders.put("/users");
request.param("id","2");
request.param("name","xiaoming222");
mvc.perform(request).andExpect(MockMvcResultMatchers.status().isOk()).
andExpect(MockMvcResultMatchers.content().
string("{\"id\":2,\"name\":\"xiaoming222\"}"));
}
}
마지막 으로 인터페이스 에 대한 테스트 는 크롬 브 라 우 저의 Postman 을 추천 합 니 다. 관심 있 는 것 은 알 아 보 세 요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
jasper codeblock.jsp에서 자바 코드 작성하기 일반적인 html 형태의 jsp 파일 안에서 변수를 선언하고 자바 코딩를 넣고 싶다면 코드 블럭을 사용하면 된다. 만약 코드 블럭을 사용하지 않으면 Jasper는 해당 내용을 화면에 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.