From c4f6f011057695fba57b12bfdf600fe27e9f484b Mon Sep 17 00:00:00 2001 From: songhyeonpk Date: Thu, 3 Jul 2025 23:19:05 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20=ED=86=B5=ED=95=A9=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EC=9D=91=EB=8B=B5=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=ED=8C=8C=EC=8B=B1=20=EB=A9=94=EC=84=9C=EB=93=9C=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98(#19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ject/studytrip/BaseIntegrationTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/java/com/ject/studytrip/BaseIntegrationTest.java b/src/test/java/com/ject/studytrip/BaseIntegrationTest.java index d975258..e7f2e29 100644 --- a/src/test/java/com/ject/studytrip/BaseIntegrationTest.java +++ b/src/test/java/com/ject/studytrip/BaseIntegrationTest.java @@ -8,6 +8,7 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.TestPropertySource; import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.ResultActions; import org.springframework.transaction.annotation.Transactional; @SpringBootTest(classes = {StudytripApplication.class}) @@ -20,4 +21,16 @@ public abstract class BaseIntegrationTest { @Autowired protected MockMvc mockMvc; @Autowired protected ObjectMapper objectMapper; + + /** + * 응답 본문(JSON)을 지정한 클래스 타입으로 변환하는 메서드, 테스트 응답 결과를 객체로 파싱해 내용 검증에 활용할 수 있음 + * + * @param result MockMvc 응답 결과 + * @param clazz 변환할 클래스 타입 + * @return 파싱된 응답 객체 + */ + protected T parseResponse(ResultActions result, Class clazz) throws Exception { + String content = result.andReturn().getResponse().getContentAsString(); + return objectMapper.readValue(content, clazz); + } }