코딩공작소
스프링부트 Service단에 대한 테스트코드 개발 본문
컨트롤러 단에 대한 테스트 코드 작성 전 서비스 단에 대한 테스트 코드를 먼저 검증해보기로 했다.
테스트 클래스 파일을 만드는 단축키는 shift + command + T 이다.
기본적으로 테스트 코드를 짜기 위해 필요한 어노테이션에 대해 알아보자
1. @SpringBootTest
- 기능: 이 어노테이션은 스프링 부트 애플리케이션의 전체 컨텍스트를 로드하여 통합 테스트를 실행하는 데 사용됩니다. 즉, 애플리케이션을 실제 실행할 때처럼 모든 빈을 로드하여 테스트를 진행합니다.
2. @RunWith(SpringRunner.class)
- 기능: JUnit과 스프링의 테스트 실행기를 통합합니다. 스프링 컨텍스트에서 JUnit 테스트를 실행하는 데 사용됩니다.
3. @Transactional
- 기능: 테스트 실행 중에 트랜잭션을 유지하며, 기본적으로 테스트가 끝난 후에 롤백됩니다. 데이터베이스 상태를 초기화하는 데 유용합니다.
Todo Save
그 유명한 given when then
새로운 Todo객체를 만들고, 저장을 해준 후, 그 객체의 아이디를 통해 조회하여 데이터를 검증한다.
일부러 컨텐트를 다르게 입력해준 후 결과를 확인해보면
잘 검증되는 것을 볼 수 있다.
TodoUpdate
Todo delete
Todo selectAll
테스트 클래스 파일들을 통해 기본적으로, CRUD에 대한 서비스 함수들이 잘 작동하는 것을 검증했다.
이제 본격적으로 RESTApi를 개발하면 된다.
추후로, 컨트롤러 단에서 해당 서비스 함수들을 잘 이용해서 투두 리스크 관리 시스템의 API를 개발한다.
'어플리케이션개발 > 토이프로젝트(취미)' 카테고리의 다른 글
REST Api 컨트롤러 개발 (1) | 2024.10.31 |
---|---|
토이프로젝트 (Made by.GPT) (1) | 2024.10.30 |
AWS EC2에서 mysql RDS 접속 (0) | 2024.10.23 |
AWS EC2 <--> RDS 연결 (0) | 2024.10.22 |
AWS RDS (MySQL) 생성 및 설정 값 세팅 (0) | 2024.10.21 |