13.1 테스트란?
- 프로그램의 품질을 검증하는 것.
- 의도대로 프로그램이 잘 동작하는지 확인하는 과정
- 테스트 도구를 활용해 코드를 검증한다는 것은 테스트 코드를 작성해 실행한다는 말
- 테스트 코드의 3 단계
- 예상 데이터 작성하기
- 실제 데이터 획득하기
- 예상 데이터와 실제 데이터 비교해 검증하기
- 작성한 코드가 테스트를 통과하면 지속적인 리팩터링으로 코드를 개선함
- 테스트를 통과하지 못하면 잘못된 부분을 찾아 고치는 디버깅을 해야 함
- 테스트 케이스란? 테스트 코드는 다양한 경우를 대비해 작성하는 것
- 테스트 주도 개발이란?
- 일단 테스트 코드를 만든 후 이를 통과하는 최소한의 코드부터 시작해 점진적으로 코드를 개선 및 확장해 나가는 개발 방식
13.2 테스트 코드 작성하기
- @Test는 해당 메서드가 테스트를 위한 코드라고 선언하는 것
- @SpringBootTest는 해당 클래스를 스프링부트와 연동해 통합 테스트를 수행하겠다고 선언하는 것
- Arrays.asList() 메서드란?
- ArrayList를 합치고 List 타입에 저장할 수 있음.
- 입력된 배열 또는 2개 이상의 동일한 타입 데이터를 정적 리스트로 만들어 반환
- 정적 리스트는 고정 크기이므로 add()나 remove() 메서드를 사용할 수 없음
- 정적 리스트에 add()나 remove() 메서드를 사용하려면 정적 리스트를 일반 리스트로 새로 만들어야 함.
- assertEquals(x, y) 메서드를 이용하면 실제 데이터와 예상 데이터가 일치하는지 비교 할 수 있음.
- JUnit에서 제공하며, 예상 데이터(x)와 실제 데이터(y)를 비교해 일치하면 테스트를 통과시킴
- 데이터를 조회하는 테스트를 제외하고 데이터를 생성, 수정, 삭제하는 테스트를 할 때는 반드시 해당 테스트를 트랜잭션으로 묶어 테스트가 종료한 후 원래대로 돌아갈 수 있게 롤백 처리를 해줘야 함.
'개인 공부 > BackEnd Study' 카테고리의 다른 글
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 4 - (0) | 2024.03.27 |
---|---|
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 3 - (0) | 2024.03.27 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 12 - (0) | 2024.03.24 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 11 - (0) | 2024.03.22 |
[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 7 - (0) | 2024.03.17 |