0
데이터를 반환하지 않습니다, 나는 몇 가지 기본 데이터를 삽입하는 API 내 테스트가 초기화됩니다 후에, 나는이 API를 호출 실행을봄 나머지 템플릿 내 봄 응용 프로그램에 대한 통합 테스트를 작성하는 것을 시도하고있다
@PostConstruct
public void inti() {
ResponseEntity<String> response = restTemplate.getForEntity("/api/default", String.class);
assertEquals("Default values are not inserted successfully", "lala", response.getBody());
}
이 전달 된 및 데이터베이스 기본 값을 볼 수 있습니다. 내 테스트에서
나는 일부 데이터를 가져 오기 위해 노력하지만 수동으로 API를 테스트하고이@Test
public void shouldReturnDeliveryNotes() {
ResponseEntity<PagedResources<DeliveryNote>> allDeliveryNotes = restTemplate.exchange("/api/deliverynotes/all?start=0&length=1000",HttpMethod.GET,null, new ParameterizedTypeReference<PagedResources<DeliveryNote>>() {});
assertNotEquals("Should have default delivery notes", 0, allDeliveryNotes.getBody().getContent().size());
}
작업 내가 반환 된 데이터의 크기를 확인하기 위해 API의 일부 로그를두고 있지만 반환 된 데이터는 0 I 테스트가 실행될 때 반환 된 데이터를 확인합니다. 이는 내 테스트가 올바른 API를 치고 API가 데이터를 가져 오는 것을 의미합니다.
@GetMapping("/all")
public ResponseEntity<Page<DeliveryNoteDTO>> getAllDeliveryNote(@RequestParam(value = "start", required = false) int start, @RequestParam(value ="length", required = false) int length) {
Pageable pageable = new OffsetBasedPageRequest(start, (length ==0? Integer.MAX_VALUE: length));
List<DeliveryNote> page = this.deliveryNoteService.getAllDeliverNotes();
List<DeliveryNoteDTO> dtoList =page.stream().map(post -> convertToDto(post)).collect(Collectors.toList());
Page<DeliveryNoteDTO> pageDto = new PageImpl<>(dtoList, pageable, dtoList.size());
System.out.println("size = "+pageDto.getNumberOfElements());
return new ResponseEntity<Page<DeliveryNoteDTO>>(pageDto,HttpStatus.OK);
}
어떤 도움이
을 감사
저는 restTemplate에서 약간 녹슬지 만, 똑같은 것을 String이나 String List를 리턴하려고 시도 할 것입니다. 어떤 이유로 든 POJOS처럼 동작하지 않는 객체에 문제가 있는지 또는 문제의 나머지 템플릿인지 여부를 알려줍니다. –
getAllDleveriyNote에서 Paged를 리턴하지만 테스트에서 PagedResources 를 찾으십시오. 이것은 의도 된 것입니까? –
@SeanCarroll PageImpl을 확장하고 새 생성자를 정의하여 문제가 해결되었지만 불행하게도 page와 pageImpl에 기본 생성자가 포함 된 리소스로 직렬화해야했습니다. –