일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
- Coputer Science
- mapstruct
- Server
- db
- FCM
- softeer
- 인프콘2023
- Test code
- 소프티어
- Junit 5
- 공룡책
- 테크쇼
- 2024회고
- 갓생
- Spring
- 일상
- proxyFactory
- Test
- JPA
- 자바
- Java
- ExceptionResolver
- 직장인 회고
- modelmapper
- OS
- Service 계층 테스트
- MySQL
- 2025 계획
- enumSet
- Test Doulbe
- Today
- Total
목록Test (3)
공부내용공유
서론취직을 하고 온보딩 프로젝트를 하던데 엊그제 같은데 어느새 경력이 1년 6개월에 가까워지고 있다. 대략 1년 4개월 동안 여러 프로젝트를 하면서 꽤나 많은 테스트 코드를 작성하였는데 최근 술 블로그 글들을 읽다가 여러 글들에서 테스트 코드에 대해서 많이 다뤄서 나도 한번 테스트 코드에 대한 내 생각을 정리하려고 글을 썼다. 본론 이 글의 목차는테스트 코드의 장점, 한계어느정도로 짜야할까으로 구성될 예정이다. 1. 테스트 코드의 장점 테스트 코드를 왜 짜야할까? 만약 테스트 환경이 구축이 안되어 있어서 구축을 해야한다면 어플리케이션 코드를 개발할 때 보다 오히려 시간이 더 걸리기도 한다. 업무 마감 기한도 빡빡한데 야근까지하면서 짜야하는 이유가 뭐가 있을까? 내가 느꼈던 테스트 코드의 장점을 느..

서론 Repository 계층 테스트 코드를 작성할때 처음에는 어플리케이션에서 사용중인 MySQL DB를 그대로 사용하였다. 그러다가 한 테스트에서 로컬에 저장되어 있던 데이터에 의해 테스트가 실패하였고, 물론 값을 바꿔주면 테스트를 통과하긴 하겠으나 이 테스트가 다른 사람 pc에서 안깨지려면 테스트 DB를 분리하는게 맞겠다는 생각이 들었다. Spring 으로 프로젝트를 진행할때 local DB 나 Test DB 로 H2 를 많이 사용하기에 나도 H2 DB 로 설정을 바꿔주고 테스트를 돌렸다. 그런데 잘만 돌아가던 테스트들이 깨지는 케이스가 발생했다. 이를 기억하고 앞으로 코드를 작성할때 주의해야겠다는 생각이 들어 이 글을 작성하였다. 본론 테스트가 깨진 경우는 2가지 였다. native query 사용..

서론 현재 프로젝트에서 Service 계층 테스트를 service 계층은 2개의 계층과 연결되어 있는만큼 굉장히 다양한 기능들에 의존을한다. RDB connection, 데이터 세팅, Mapper, Spring context 등등 구글링을 했을때 spy, mock 등등 다양한 어노테이션을 사용하는것을 보았는데 정확히 어떤 역할을 해주고 어떤때 사용해야하는지 몰라서 이를 정리하기 위해 이 글을 작성하였다. Test Double test double이란 테스트 하려는 코드 부분을 제외한 나머지 코드로부터 영향을 받지 않고 테스트를 진행하기 위해 가상의 객체를 생성하여 주입하는것을 말한다. Test Double을 통해 테스트에 의존적인 객체, DB, 여러 설정 정보들로부터 격리시켜 테스트 속도를 높일 수 있다..