일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ExceptionResolver
- Spring
- Server
- 자바
- 2024회고
- FCM
- OS
- Test code
- softeer
- 공룡책
- Coputer Science
- Junit 5
- proxyFactory
- modelmapper
- Java
- 2025 계획
- Test Doulbe
- db
- Test
- Service 계층 테스트
- 테크쇼
- 직장인 회고
- enumSet
- 갓생
- 소프티어
- MySQL
- 일상
- 인프콘2023
- JPA
- mapstruct
- Today
- Total
목록Test (2)
공부내용공유
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A02I0/btspg1UdMLa/W68iRKKHLHzWYwdWbSvmY1/img.png)
서론 Repository 계층 테스트 코드를 작성할때 처음에는 어플리케이션에서 사용중인 MySQL DB를 그대로 사용하였다. 그러다가 한 테스트에서 로컬에 저장되어 있던 데이터에 의해 테스트가 실패하였고, 물론 값을 바꿔주면 테스트를 통과하긴 하겠으나 이 테스트가 다른 사람 pc에서 안깨지려면 테스트 DB를 분리하는게 맞겠다는 생각이 들었다. Spring 으로 프로젝트를 진행할때 local DB 나 Test DB 로 H2 를 많이 사용하기에 나도 H2 DB 로 설정을 바꿔주고 테스트를 돌렸다. 그런데 잘만 돌아가던 테스트들이 깨지는 케이스가 발생했다. 이를 기억하고 앞으로 코드를 작성할때 주의해야겠다는 생각이 들어 이 글을 작성하였다. 본론 테스트가 깨진 경우는 2가지 였다. native query 사용..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/chn30y/btsgE7h5q0G/K8q0SoYyOpM1sCllqsukP0/img.png)
서론 현재 프로젝트에서 Service 계층 테스트를 service 계층은 2개의 계층과 연결되어 있는만큼 굉장히 다양한 기능들에 의존을한다. RDB connection, 데이터 세팅, Mapper, Spring context 등등 구글링을 했을때 spy, mock 등등 다양한 어노테이션을 사용하는것을 보았는데 정확히 어떤 역할을 해주고 어떤때 사용해야하는지 몰라서 이를 정리하기 위해 이 글을 작성하였다. Test Double test double이란 테스트 하려는 코드 부분을 제외한 나머지 코드로부터 영향을 받지 않고 테스트를 진행하기 위해 가상의 객체를 생성하여 주입하는것을 말한다. Test Double을 통해 테스트에 의존적인 객체, DB, 여러 설정 정보들로부터 격리시켜 테스트 속도를 높일 수 있다..