1주 간의 수업과 과제를 진행하면서 새로 알게 된 개념이나 잘못 알았던 개념에 대해 이야기 해봅시다.
강태산
- 단위 테스트에 대한 이해
- 테스트 플랫폼
- 행위검증과 상태검증
- Thread Pool
- Thread 테이블을 조회하여 Connection의 수를 모니터링하는 방법을 배운것이 좋았다.
김지웅
- 목 객체를 사용해서 테스트하는 법
- 상태검증과 행위검증
방은혁
- 단위 테스트에 대해
- 상태 검증 : 객체의 상태를 검사하는 테스트
- 행위 검증 : 객체의 행위를 검사하는 테스트
- 템플릿 콜백 패턴에 대해 알게되었다.
이한주
- JDBC Template을 잘 이해하지 못했는데 책을 이용해 다시 개념을 채웠다.
- JDBC Template은 Template Callback Pattern으로 만들었다.
정다현
- JDBC를 처음 경험해 보았다
hamcrest
라이브러리를 알게 되었고, 경험해 보았다
팀 토론
- 강의 내용 중 테스트 강의에서 느낀점
- 테스트의 종류
- 상태 검증 : 객체의 상태를 검사하는 테스트. 주로
assertj
라이브러리를 이용해 테스트 가능 - 행위 검증 :
mockito
를 이용해 가짜 객체를 만들고verify
를 이용해 행위를 검증하는 방법으로 테스트 가능
- 과제 내용 중 Voucher 테이블을 분할해야 하나
- 분할의 장단점을 생각해보자.
- 분할(정규화)
- 장점 : 메모리를 효율적으로 사용 가능
- 단점 : 조회시 조인 연산 필요
- 하나로(비정규화)
- 장점 : 조회시 조인 필요 없음
- 단점 : 메모리 낭비
- 테스트 코드를 위해 비즈니스 로직에서 쓰지 않는 코드를 만들어야 하나
- 테스트를 위해서 사용하지 않는 코드를 추가함
- 비즈니스 코드를 변경하지 않고도 테스트할 수 있도록 설계한다.
- 테스트를 위해 필요한 기능은 테스트 코드 내 재정의 하여 테스트 용도로만 사용한다.
- 과제 심화 내용 중 지갑 도메인을 생성해야할까
Customer
안에Voucher
의UUID
에 대한List
Customer
에 Voucher를 식별가능 한 Field를 추가하여 해결