Skipalong's tistory
231129 TIL - 심화주차 체크리스트(테스트코드) 본문
오늘도 강의를 듣고 체크리스트를 체크해보겠다.
✅ 체크리스트
- [ ] 단위 테스트/통합 테스트의 차이점을 설명할 수 있다.
->
- 단위 테스트는 모듈이나 클래스의 세밀한 부분까지 테스트를 할 수 있지만 모듈간의 상호작용에 대한 부분은 테스트를 할 수 없다는 단점이 있다. 효율성 ↑, 포괄성↓
- 통합 테스트는 세밀한 부분까지는 테스트하기 어렵지만 여러개의 모듈간의 상호작용에 대한 부분을 테스트할 수 있다는 장점이 있다. 효율성 ↓, 포괄성 ↑
- 단위테스트시에는 Spring이 작동하지 않아서 Spring IoC/DI, DB CRUD가 불가능하지만 통합테스트에서는 Spring이 동작해서 Spring IoC/DI, DB CRUD 가 가능하다.
- [ ] JUnit 과 Mockito 를 통해 테스트 범위가 분리된 테스트 코드를 작성할 수 있다.
->
JUnit이란 자바 프로그래밍 언어 용 단위 테스트 프레임워크이다.- @BeforEach, @AfterEach, @BeforeAll, @AfterAll 를통해 각 테스트 메서드 전/후, 전체 모든 테스트 메서드 전/후 에 수행할 메서드를 만들어 줄 수 있다.
- @DisplayName을 통해 테스트의 네이밍을 해줄 수 있고, @Nested를 통해 테스트메서드들을 그룹화 할 수 있고, @Order를 통해 테스트 메서드들이 수행될 순서를 정해줄 수 있다.
- @RepeatedTest를 통해 테스트를 반복해서 할수 있고 @ParameterizedTest와 @ValueSource를 통해 파라미터값을 전달하여 테스트를 할 수 있다.
- Assertions.assertEquals/True/NotNull/Throws를 통해 기대값과 반환값을 비교해 테스트를 할 수 있다.
- 이러한 어노테이션들을 통해 테스트를 할 수 있는데 given-when-then패턴을 사용해 given - 테스트에 필요한 값을 설정, when - 테스트하고자하는 대상을 실행, then - 기대값과 반환값을 확인 하는 패턴으로 테스트를 진행한다.
Mock이란 테스트에 필요한 실제 객체와 동일한 모의 객체를 만들어 테스트의 효용성을 높이기 위해 사용하는 가짜 객체라고 할 수 있다.
Mockito란 이러한 기능을들 제공해주는 프레임워크이다. 이를 통해 단위 테스트를 할 때 구분되어야하지만 필요한 다른 모듈을 생성해 주는 기능이라고 보면 될 것 같다.
'TIL' 카테고리의 다른 글
231201 TIL - 심화주차 체크리스트(SpringAOP) (1) | 2023.12.02 |
---|---|
231130 TIL - 심화주차 체크리스트(테스트코드) (0) | 2023.12.01 |
231128 TIL - 심화주차 체크리스트(OAuth) (0) | 2023.11.29 |
231124 TIL - 에러코드에 답이 있다. (0) | 2023.11.25 |
231123 TIL - 역할분담, 설계 트러블, Null반환문제 (0) | 2023.11.24 |