반응형 RabbitMQ3 [엘레강트 오브젝트] 2.8 모의 객체(Mock) 대신 페이크 객체(Fake)를 사용하세요 이 내용은 엘레강트 오브젝트 를 읽으면서 정리한 내용을 포함하고 있습니다. 페이크(Fake) 한걸음 더 나아가기 정리 페이크(Fake) 테스트를 최적화하기 위한 도구인 모킹(Mocking)을 많이 사용하는데, 하지만 모킹 대신 페이크 객체를 사용할 것을 제안한다. 페이크 클래스는 인터페이스의 일부이며 인터페이스와 함께 제공한다. 페이크 클래스가 실제 클래스보다 더 복잡한 경우도 존재한다. 페이크 클래스를 만족하도록 테스트를 작성하지 말고, 페이크 클래스가 테스트를 올바르게 지원하도록 작성한다. 프로덕션 코드 변경 시 단위 테스트 코드를 수정하지 않으면 실패하게 된다. 단위 테스트도 신경써서 수정해야 한다. 페이크 클래스가 존재하는 상황에서 해당 인터페이스를 변경하기 위해서는 자연스럽게 해당 인터페이스 클.. 2023. 3. 12. [RabbitMq] spring-boot-starter-amqp 활용 publish-subscribe 실습을 위해서 RabbitMq 설치를 진행하였습니다. Spring boot 를 이용하여서 Publisher-Subscribe 예제 프로젝트를 직접 만들어어보고 이해도를 높여보도록 하겠습니다. 먼저, RabbitMq의 메시지를 처리하는 프로세스는 다음과 같이 단순하게 작성을 하였습니다. 메시지 프로세스 Publisher 메세지 발생 주체가 메세지를 발생 시킵니다. 메세지를 RabbitMQ의 API를 이용해 RabbitMQ 영역으로 보내게 됩니다. RabbitMQ의 API는 rabbitTemplate을 이용해서 RabbitMQ와 통신을 쉽게 해줍니다. Exchange 가 메세지 내용을 확인합니다. 어느 Exchange로 보내는지에 대한 정보와 이 Exchange는 어느 Queue로 routing이 되야 하.. 2022. 8. 7. [RabbitMQ] MacOS docker 설치 회사에서 Message Queue 서버를 도입할 예정인데, 이와 관련하여서 개발 경험을 해본적이 없습니다. 그래서 Spring과 RabbitMQ 를 사용하여서 연동하는 간단한 예제를 만들어보고 좀 더 심화된 내용으로 만들어보면서 동작 과정을 파악해보려고 합니다. 그래서 첫 시간으로 RabbitMQ 개념 및 사용하는 방법 등을 알아보고 설치까지 완료하여보겠습니다. RabbitMQ란? queue에 대한 간단한 개념은 아래 내용을 참고하시면 좋습니다. [자료구조론 Queue] https://www.cloudamqp.com/blog/what-is-message-queuing.html 오픈 소스 Message Broker(메시지 브로커) Message Broker(메시지 브로커)란? Publisher(송신자)로부.. 2022. 7. 23. 이전 1 다음 반응형