2017-10-16 3 views
0

제품이 아직 존재하지 않는다고 가정하고 제품 엔터티를 업데이트하기위한 PUT 요청을 테스트하려고합니다. 따라서 테스트에서 다음 논리를 모델링합니다.PUT 메서드를 올바르게 테스트하는 방법

  • 제품을 만듭니다. 제품에는 제품을 만들거나 업데이트 할 때마다 자동 증가 크기를 지정하는 필드가있는 목록이 있습니다. 그래서 나는 창조 직후 크기가 1과 같을 것으로 기대합니다.
  • GET 요청을 수행하여 크기를 확인하십시오. 어설 션 assertTrue(response.getBody().getData().size() == 1);은 예상대로 true를 반환합니다.
  • 그런 다음 PUT 요청을 모델링하고 업데이트 된 제품의 size 필드가 증가했는지 확인하려고합니다. 따라서 업데이트 된 제품의 크기 필드는 이전 업데이트 요청의 크기보다 커야합니다.

하지만이 시점에서 멈추고이 상황에서 PUT 요청을 진행하는 방법에 대한 조언이 필요합니다. 당신은 내가 당신이 TestNG의에서 그 일을한다고 가정하기 위하여려고하고있다 testng으로이 질문을 태그 한 이후

@RequestMapping(method = RequestMethod.PUT) 
     @ResponseStatus(HttpStatus.OK) 
     void updateProduct(@PathVariable("name") String productName); 

@Test 
     public void checkUpdated() { 

     Product newProduct = createProduct(SIMPLE_PRODUCT); 

     ResponseEntity<SimpleProduct> response = restTemplate.getForEntity("/products/{name}/?fields={fields}", 
        SimpleProduct.class, SIMPLE_PRODUCT); 
      assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); 
      assertTrue(response.getBody().getData().size() == 1); 
} 

답변

0

.

  • createProduct() 메서드 내에서 작성한 후 목록 크기를 검색하고 클래스 수준 데이터 멤버에서 유지하십시오.
  • 귀하의 checkUpdated()은 주석의 dependsOnMethod 속성을 사용하여 createProduct()에 의존하고 있습니까?
  • PUT 후 목록에 대해 값을 비교하는 것을 특징으로 당신의 주장에 대한 클래스 수준의 데이터 멤버를 사용하여 확인하면 그 목록 포스트 PUT 작업의 크기보다 작은.
관련 문제