일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Spring Boot
- Linux
- 프로퍼티
- Dependency Injection
- @Spring-Test
- myBatis
- unix
- spring
- XML
- Spring JDBC
- Framework
- spring framework
- Di
- java spring
- 리눅스
- JdbcTemplate
- 마이바티스
- SpringJDBC
- @AspectJ
- POJO
- @JUnit
- java
- 컨테이너
- Ubunt
- AOP
- pointcut
- STS
- @test
- spring aop
- JDBC TEMPLATE
Archives
- Today
- Total
개키우는개발자 : )
테스트 코드를 이용한 테스트 본문
반응형
요약 및 결론
테스트 코드를 사용한 Spring Boot 애플리케이션 검증 방법을 다루고, JUnit5 및 AssertJ를 사용해 HelloController
API의 동작을 검증하는 과정을 설명했습니다.
핵심 내용
수동 테스트의 한계:
- 기존에는 서버를 띄우고 직접 HTTP 요청을 보내 응답을 확인하는 방식으로 테스트를 진행했으나, 수동 검증 방식의 번거로움과 실수 가능성 때문에 자동화된 테스트가 필요함.
테스트 코드 작성:
- JUnit5와 AssertJ를 사용하여 테스트 코드 작성.
RestTemplate
과 TestRestTemplate을 사용해 HTTP 요청을 테스트 코드 내에서 자동으로 실행.- 세 가지 요소를 검증:
- 상태 코드 (Status Code): 응답이
200 OK
로 왔는지 확인. - 헤더 (Headers): Content-Type이
text/plain
인지 확인. - 바디 (Body): 응답 바디가
Hello Spring
인지 확인.
- 상태 코드 (Status Code): 응답이
검증 도구:
- AssertJ를 사용해 간결하게 테스트 검증 코드를 작성함.
- 상태 코드나 헤더 값이 예상과 일치하는지 isEqualTo와 startsWith를 사용해 비교.
- 바디는
getBody()
를 통해 응답 바디가 예상한 값인Hello Spring
과 일치하는지 확인.
테스트 코드의 장점:
- 테스트 코드는 수동 검증을 대체할 수 있으며, 코드 수정 후 자동 검증이 가능하여 실수를 방지함.
- 테스트 템플릿을 사용하여 반복적인 HTTP 요청 및 검증을 코드로 작성해 재사용성과 신뢰성을 높임.
추가 테스트 필요성:
- 한 가지 테스트만으로는 코드의 충분한 검증이 어렵기 때문에 다양한 상황을 테스트할 필요가 있음.
- 추가적인 더 빠르고 간편한 테스트 방법에 대해 다음 강의에서 다룰 예정.
결론:
테스트 코드를 통해 애플리케이션의 HTTP API를 자동으로 검증함으로써, 수동 테스트보다 빠르고 신뢰성 있게 애플리케이션을 확인할 수 있으며, 다양한 시나리오에 대한 추가 테스트가 필요함을 강조.
반응형
'토비의 스프링 부트 - 이해와 원리 > 섹션6 - DI와 테스트, 디자인 패턴' 카테고리의 다른 글
DI를 이용한 Decorator, Proxy 패턴 (0) | 2024.10.08 |
---|---|
DI와 단위 테스트 (0) | 2024.10.08 |
Comments