4주차에 배운 것들 📌 Test Double "Test Double"은 테스트 중에 실제 객체를 대체하기 위해 사용하는 객체 를 통칭하는 개념으로 다섯 가지 유형이 존재 Dummy : 아무 것도 하지 않는 깡통 객체 Fake : 단순한 형태로 동일한 기능은 수행하나, 프로덕션에서 쓰기에는 부족한 객체 ex. FakeRepository Stub : 테스트에...
1. Mock 관련 어노테이션 정리하기 📌 @Mock Mockito에서 제공하는 어노테이션 실제 객체를 생성하지 않고, 가짜 객체를 생성하여 해당 객체의 행위에 대한 반환값 조작 및 메서드 호출을 확인할 수 있다. 만약 메서드를 stubbing 하지 않으면 기본값이 반환된다.(String : "", int : 0) 단위 테스트를 수행할 때 적합하다. 객체...
📌 Persistence Layer ✅ 특징 Data Access의 역할 비즈니스 가공 로직이 포함되어서는 안 된다. Data에 대한 CRUD에만 집중한 레이어이기 때문 작성한 쿼리가 우리의 의도대로 동작하는지 확인하는 단위 테스트의 성격을 가진다. 해당 쿼리가 미래에 어떠한 구현체로 변형될지 모르기 때문에 테스트 코드로 보장해주어야 한다. 💡 테스트 ...
3주차에 배운 것들 📌 Layered Architecture(레이어드 아키텍처) 테스트 💡 관심사를 분리하여 계층을 나누고, 책임을 나누어 유지보수에 용이하게 하는 방법 테스트 하기 복잡해 보이지만, 무엇을 어떻게 테스트 할 지 알아보자! 📌 Persistence Layer Data Access의 역할 비즈니스 가공 로직이 포함되어서는 안 된다. Da...
2주차에 배운 것들 📌 자동화된 테스트를 만들자 지금까지 개발을 하면서 테스트 코드를 만들어서 검증을 한적이 한번도 없었다. 강의에서도 언급된 콘솔을 통한 검증 방법을 통해 원하는 값이 잘 나오는지 직접 눈으로 확인했다. @Test void add() { // 옳바른 테스트일까? CafeKiosk cafeKiosk = new CafeKiosk(); caf...
1주차에 배운 것들 📌 추상에 대해서 강의를 듣기 전까지는 '추상' 에 대해서 사전적으로만 알고 있었다. 사실 사전적 정의를 알았던 것이지 "객체 지향에 추상을 어떻게 적용하는 거지?"라는 의문과 구체와 추상의 경계가 모호했다. 하지만 강의를 통해 나는 이미 많은 구체들을 추상화를 시키며 개발했다는 것을 알게 되었다. 결국 추상화를 잘 하기 위해서는 이론...
📌 "추상과 구체" 강의를 듣고, 생각나는 추상과 구체의 예시가 있다면 한번 3~5문장 정도로 적어봅시다. "치킨을 먹는다" 밀가루 반죽에 버무린 닭고기를 뜨거운 기름에 넣는다. 이것이 "바사삭" 소리가 날 때까지 기름 속에 넣어둔다. 스며든 기름을 털어내고 그릇에 잘 담는다. 치아를 이용하여 잘게 쪼개 목구멍을 통해 넘긴다. 강의를 듣기 전까지 추상이 ...