카테고리 없음

assertEquals에 대괄호가있는 Java 이벤트 기반 개발 문제 [닫힘]

기록만이살길 2021. 3. 1. 00:03
반응형

assertEquals에 대괄호가있는 Java 이벤트 기반 개발 문제 [닫힘]

1. 질문(문제점):

저는 고전적인 이벤트 기반 개발 테스트를 수행합니다.

// 주어진

// 언제

// then
then(response.getStatus()).isEqualTo(HttpStatus.OK.value());

then(response.getContentAsString()).isEqualTo(
      jsonRequestProduct.write(List.of(newProduct)).getJson());

그리고 두 번째 코드 줄에서 응답을받을 것입니다.

org.opentest4j.AssertionFailedError : 예상 : ...하지만 그렇지 않습니다.

Expected :"[{"id":1,"description":"iPhone 33","price":599.99}]"
Actual   :"{"id":1,"description":"iPhone 33","price":599.99}"

질문 : 테스트가 통과되도록 "[]"를 제거하려면 어떻게해야합니까?

충고에 감사하다.

최신 정보:

필수 유형 : List <xxx.demo.model.Product>

제공 : 제품

이것이 내 컨트롤러의 모습입니다.

    @PutMapping("/update")
    public ResponseEntity<Product> updateProduct(@RequestBody Product product) {
         return ResponseEntity.ok(productServiceImpl.updateProduct(product));
    }

2. 해결방안:

그렇게하면 테스트가 통과됩니다.

@PutMapping("/update")
public Product updateProduct(@RequestBody Product product) {
     return productServiceImpl.updateProduct(product);
}
65777253
반응형