ch02 : 테스트의 필요성
2022. 2. 20. 16:57
책/토비의스프링
단위 테스트 vs 통합 테스트 vs 인수 테스트 [스프링부트 (8)] SpringBoot Test(1) - Junit 설정 및 실행 기존에는 인프런 강의를 들으며 , 강사님께서 작성하시던 테스트코드 따라치기 경험밖에 없었다. 어쨋거나 user case를 테스트 해보기 위해 , 매번 서버를 실행하고, test를 위해 직접 db에서 기존 test를 위해 넣은 데이터를 삭제하거나, 현재 테스트를 위해서 직접 데이터를 넣는 과정이 반복되며 불편함을 느끼게 되었다. unit test.. 이것을 도입은 해봐야할텐데 unit test가 정확히 뭐지? Spring DATA JPA를 사용하는 중, unit test의 도입이 가능할까? 결국 서버를 run시켜야하는 거 아닐까? Mock이 뭐지 ? 순수 JAVA 테스트를 할..
DI , 왜 생성자 주입을 하라는 걸까?
2022. 2. 16. 20:27
책/토비의스프링
참조 토비의 스프링 vol1. DI DI의 등장 IoC 컨테이너라던 스프링. DI 라는 용어는 어쩌다가 나왔을까?? IoC 라는 용어는 “매우 폭넓게 적용되고 있는 용어” 이다. 스프링 고유의 것이 아니다. 객체 지향프로그래밍에서 IoC를 구현하는 기술에는 - service locator pattern을 사용 - DI를 사용 - contextualized lookup을 사용 - template method 디자인 패턴 사용 - 전략 디자인 패턴 사용 등등이 있다. 따라서 스프링이 제공하는 IoC 방식을 좀 더 명시적으로, 확실하게 짚어주기 위해 “ DI(의존관계주입)” 이라는 용어가 등장한다. (이게 위에서 말한 DI 다 ) 참고로, 주입이라는 용어를 사용했지만 “참조값”이 외부로부터 “전달” 되어오는 ..
02. 원칙과 패턴
2022. 2. 13. 14:24
책/토비의스프링
Reference 토비의스프링3.1(vol1) 책을 읽으며 정리 및 개인적 이해를 돕기 위한 추가적인 말들 객체지향 설계 원칙(SOLID) 객체지향의 특징을 잘 살리 수 있는 설계의 원칙” 을 말함. 원칙 → 절대적 기준 x → 가이드 라인 같은 것. 디자인 패턴이 좀 더, 특정한 상황의 문제에 대한 “ 구체적인 솔루션” 이다 객체지향 설계원칙은, “좀 더 일반적 상황에 적용가능”한 설계 기준. 디자인 패턴들에선, 객체지향 설계 원칙을 잘 지켜 만들어져 있겠다. 개방 폐쇄 원칙( OCP : Open Closed Pattern ) 클래스나 모듈은 “확장에는 열려” 있고, “변경에는 닫혀” 있어야 한다. 예를들어 , 앞서 만든 UserDao 는 이제, “DB 연결방법 등의 기능을 확장” 할 수 있으면서도, ..
관심사의 분리 ( ~1.3.3)
2022. 2. 9. 14:05
책/토비의스프링
현재 Java Bean이라고 부르는 것 일부 자바빈 규약 정도를 지키는 것을 말함. default 생성자 ( zero parameter consturctor) 를 갖고 있어야 한다 → 툴이나 프레임워크에서 reflection을 이용해 object를 생성하기 때문. property 는 setter나 getter를 이용해 access할 수 있을 것. ( 하지만 Entity의 경우 setter를 오픈하는 것은 좋지 않다. getter도 무조건은 좋지 않다 ) 객체지향 "기술 "은 어떤 것을 말하는 걸까? ( 객체지향적 개념 말고, 기술! ) ==> 변화에 효과적으로 대처할 수 있는 것. 변화에는 대비한다는게 무슨 말이지?? 변화의 폭을 최소한으로 줄여주는 것. ( 코드 여기저기서 변화가 일어난다면 변화의 폭이..