[英]Junit5 test case for controller layer
@GetMapping(value = "/abc")
public ResponseDto<Map<String, FResponseDto>, Void> getFlightDetails(@RequestParam String fIds) {
Map<String, FResponseDto> response = fService
.getDetails(fIds);
if (Objects.isNull(response)) {
return ResponseDto.failure(FConstants.FLIGHT_NOT_FOUND);
}
return ResponseDto.success(FConstants.SUCCESS,response);
}
如何测试其他状态 我想测试 if 和其他返回
此代码可能对您有所帮助。
@WebMvcTest(controllers = YourController.class)
class YourControllerTest {
private MockMvc mockMvc;
@Autowired
private YourController controller;
@MockBean
private FService fService;
@BeforeEach
public void setUp() {
this.mockMvc = MockMvcBuilders.standaloneSetup(controller)
.build();
}
@Test
public void test_getFlightDetails() throws Exception {
Map<String, FResponseDto> data = ......;
Mockito.when(fService.getDetails(anyString())).thenReturn(data);
this.mockMvc.perform(get("/abc"))
.andExpect(status().isOk());
Mockito.when(fService.getDetails(anyString())).thenReturn(null);
this.mockMvc.perform(get("/abc"))
.andExpect(status().is5xxServerError());
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.