[백엔드TIL] Mockito를 활용한 단위테스트 (76일차) [ Mockito란? ] Mockito는 개발자가 동작을 직접 제어할 수 있는 가짜 객체를 지원하는 테스트 프레임워크이다. 일반적으로 Spring으로 웹 애플리케이션을 개발하면, 여러 객체들 간의 의존성이 생긴다. 이러한 의존성은 단위 테스트를 작성을 어렵게 하는데, 이를 해결하기 위해 가짜 객체를 주입시켜주는 Mockito 라이브러리를 활용할 수 있다. Mockito를 활용하면 가짜 객체에 원하는 결과를 Stub하여 단위 테스트를 진행할 수 있다. 물론 프레임워크 도구가 필요없다면 사용하지 않는 것이 가장 좋다. [ Mockito 사용법 ] 1. Mock 객체 의존성 주입 Mockito에서 가짜 객체의 의존성 주입을 위해서는 크게 3가지 어노테이션이 사용된다. @Mock: 가짜 객체를 만들어 반환해주는.. 더보기 [백엔드TIL] Spring 구조와 DDD 개발(75일차) Request 데이터를 받을 Dto API 요청을 받을 Controller 트랜잭션, 도메인 기능 간의 순서를 보장하는 Service 여기서 많이 오해하고 있는 부분이 Service에서 비즈니스 로직을 처리해야 한다는 것이다. 하지만 전혀 그렇지 않다. Service는 트랜잭션, 도메인 간 순서 보장의 역할만 한다. 그럼 비즈니스 로직은 누가 처리할까? 바로, 도메인 Domain이다. Spring 웹 계층 구조 Web 계층 흔히 사용하는 컨트롤러(@Controller)와 JSP/ Freemarker 등의 뷰 템플릿 영역이다. 이외에도 필터(@Fiilter), 인터셉터, 컨트롤러 어드바이스(@Controller Advice)등 외부 요청과 응답에 대한 전반적인 영역을 나타낸다. Service 계층 @Ser.. 더보기 [백엔드TIL] Docker 설정하면서 트러블슈팅(74일차) [문제상황] ec2에 docker-compose로 스프링을 띄우고, ec2 로컬에 실행한 redis와 연결이 안되고 있다. [원인] application.yml에 작성한 redis의 호스트인 localhost(127.0.0.1)의 주소와 docker의 로컬 호스트 주소가 다르기 때문이다. redis: host: localhost port: 6379 [실행] host에 localhost 대신에 host.docker.internal로 수정한다. =>실패 docker redis network를 구축한뒤 실행된 도커 컨테이너와 연결해준다 =>실패 [해결] docker-compose.yml에 아래 extra_hosts를 추가해준뒤 extra_hosts: - "host.docker.internal:host-gate.. 더보기 이전 1 ··· 25 26 27 28 29 30 31 ··· 88 다음