일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- thread
- K8s
- 토비의 스프링 정리
- 보조스트림
- 스프링
- mysql
- IntellJ
- Real MySQL
- Collection
- Java
- 이스티오
- 쿠버네티스
- jvm
- 토비의 스프링
- redis
- JPA
- 스트림
- 자바
- 백준
- Kotlin
- OS
- 자바 ORM 표준 JPA 프로그래밍
- SpringBoot
- list
- GC
- Stack
- Stream
- spring
- MSA
- gradle
- Today
- Total
목록단위테스트 (2)
인생을 코딩하다.
통합테스트 장점 모든 빈을 올리고 테스트를 진행하기 때문에 운영환경과 가장 유사하게 테스트 가능 API를 테스트 할 경우 요청부터 응답까지 전체적인 테스트 진행 가능 단점 모든 빈을 올리고 테스트를 진행하기 때문에 테스트 시간이 오래걸리고 무거움 테스트의 단위가 크기 때문에 테스트 실패시 디버깅이 어려움 외부 API 콜 같은 Rollback 처리가 안되는 테스트를 진행하기 어려움 단위테스트 장점 TDD 의 첫 단계의 기능 단위의 테스트 코드 작성 단위테스트를 진행하면 여러 문제점들을 사전에 차단하여 더 빠른 오류 검증 및 수정을 빠르게 해결 가능 단점 아래 참고 테스트 격리 : 테스트를 서로 격리하여 한 테스트를 실행해도 다른 테스트에 영향을 주지 않도록 해야한다. 즉, 테스트는 순서에 상관없이 독립적으..
Mockito를 활용해 단위테스트를 진행할 떄 PersonService.java에서 person.set(personDto) 로직을 주석처리 하였는데도 TestCode가 작동을 한다. 중요 로직을 주석처리 하였는데 오류를 검출하지 못한채로 검증을 해버리게 된다. 이유는 PersonServiceTest.java에서 verify(personRepository, times(1)).save(any(Person.class)); 어떠한 로직이든 person class면 괜찮다고 생각하기 때문이다. set을 주석처리 하여서 personDto가 들어가지 못하기 때문에 값은 다 null이 들어가지만, 밑에서 save가 되기 때문에 통과 되어버린다. 그래서 오류 검출을 하지 못하게 된다. 이 문제를 해결하기 위해 Argum..