[워밍업 클럽] BE 클린코드&테스트 4주차 발자국
강의 요약 Persistence Layer Data Access의 역할 비지니스 가공 로직이 포함되어서는 안된다. Data에 대한 CRUD에만 집중한 레이어 DataJpaTest Jpa 관련된 Bean만 로딩한다. 상대적으로 빠름 기본적으로 @Transactional이 달려있다. → 자동으로 롤백 SpringBootTest 모든 Bean을 로딩한다. 상대적...
- 좋아요수
- 0
- 백엔드
강의 요약 Persistence Layer Data Access의 역할 비지니스 가공 로직이 포함되어서는 안된다. Data에 대한 CRUD에만 집중한 레이어 DataJpaTest Jpa 관련된 Bean만 로딩한다. 상대적으로 빠름 기본적으로 @Transactional이 달려있다. → 자동으로 롤백 SpringBootTest 모든 Bean을 로딩한다. 상대적...
1. @Mock, @MockBean, @Spy, @SpyBean, @InjectMocks 의 차이를 한번 정리해 봅시다. @Mock 가짜 객체를 생성하여 단위 테스트에 사용 메서드의 예상 결과를 지정할 수 있음 (stubbing 가능) @MockBean Spring Context에 Mock 객체를 주입하여 통합 테스트에서 사용 Application Cont...
강의 요약 테스트란? 테스트를 하는 이유, 필요한 이유 빠른 피드백 자동화 안정감 테스트 코드가 없다면? 변화가 생기는 매순간마다 발생할 수 있는 모든 Case를 고려해야 한다. 변화가 생기는 매순간마다 모든 팀원이 동일한 고민을 해야한다. 빠르게 변화하는 소프트웨어의 안정성을 보장할 수 없다. 테스트 코드가 병목이 된다면 프로덕션 코드의 안정성을 제공하기...
강의 요약 능동적 읽기 복잡하거나 엉망인 코드를 읽고 이해하려 할 때, 리팩토링을 하자. 공백으로 단락 구분 메서드와 객체와 추상화 해보기 주석으로 이해한 내용 표기하며 읽기 언제든지 rollback 할 수 있다 겁먹지 말자 목표는 도메인 지식 을 늘리는 것. 작성자의 의도를 파악하는 것. 오버 엔지니어링 적정 수준보다 더 높은 수준의 엔지니어링 구현체가 ...
강의 내용 중 중요하다고 생각되는 부분 추상 이름 짓기의 중요성 단수와 복수 구분하기 이름 줄이지 않기 은어/방언 사용하지 않기 좋은 코드를 보고 습득하기 당연하다고 생각되지만 생각보다 지키기 쉽지 않다.... 추상화 수준 추상화 수준을 맞춰야 독자로 하여금 읽기 쉬운 코드가 된다. 납득은 되지만, 실제 코드에 적용하게 되면 private method가 너...
public boolean validateOrder(Order order) { if (hasNoItems(order)) { log.info("주문 항목이 없습니다."); return false; } if (hasInvalidTotalPrice(order)) { log.info("올바르지 않은 총 가격입니다."); return false; } if (hasN...