1. 테스트란?
테스트(test)란?
프로그램의 품질을 검증하는 것으로, 의도대로 프로그램이 잘 동작하는지 확인하는 과정이다. 테스트 도구를 이용해 반복적인 검증 절차를 자동화할 수 있어서 다양한 문제를 미리 예방하고 코드 변경 등으로 인해 발생하는 부작용도 조기에 발견할 수 있다.
테스트 도구를 활용해 코드를 검증한다는 것은 테스트 코드를 작성해서 실행한다는 뜻이다. 테스트 코드의 과정은 3단계로
- 예상 데이터 작성하기
- 실제 데이터 획득하기
- 예상 데이터와 실제 데이터 비교해 검증하기
작성한 코드가 테스트를 통과하면 지속적인 리팩터링으로 코드를 개선한다. 테스트를 통과하지 못하면 잘못된 부분을 찾아 고치는 디버깅(debugging)을 해야 한다.
테스트 코드는 다양한 경우를 대비해 작성한다. 이를 테스트 케이스(test case)라고 한다.
테스트를 통한 코드 검증과 리팩터링은 개발자의 기본 소양이다. 이를 기반으로 한 개발 방법론인 테스트 주도 개발(TDD, Test Driven Development)로 일단 테스트 코드를 만든 후 이를 통과하는 최소한의 코드부터 시작해 점진적으로 코드를 개선 및 확장해 나가는 개발 방식이다.
2. 테스트 코드 작성하기
1. 테스트 코드 기본 틀 만들기
index() 메서드에서 Generate -> Test 선택
test > java > com.example.firstproject > service > ArticleServiceTest
2. index() 테스트하기
test > java > com.example.firstproject > service > ArticleServiceTest
3. show() 테스트하기
test > java > com.example.firstproject > service > ArticleServiceTest
4. create() 테스트하기
test > java > com.example.firstproject > service > ArticleServiceTest
5. 여러 테스트 케이스 한 번에 실행
test > java > com.example.firstproject > service > ArticleServiceTest
@Transactional 추가
'Java > Spring Boot' 카테고리의 다른 글
[Day 15] 댓글 컨트롤러와 서비스 만들기 (0) | 2024.08.12 |
---|---|
[Day 14] 댓글 엔티티와 리파지터리 만들기 (0) | 2024.08.10 |
[Day 12] 서비스 계층과 트랜잭션 (0) | 2024.08.08 |
[Day 11] HTTP와 REST 컨트롤러 (0) | 2024.08.07 |
[Day 10] REST API와 JSON (0) | 2024.08.07 |