강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của cjkimhello974724
cjkimhello974724

câu hỏi đã được viết

Bài kiểm tra mùa xuân hoàn thành trong một ngày với Juju

Thử nghiệm Kafka

강의를 수강하면서 2가지 질문이 생겼습니다

Viết

·

160

·

Đã chỉnh sửa

0

안녕하세요 쥬쥬님의 강의를 보면서 테스트 코드 작성에 도움을 많이 받고 있습니다. 감사합니다.

 

질문이 있어서 글을 올려드립니다.

 

질문1.

application.yml 에서 mysql, redis, kafka 의 호스트를 컨테이너 이름으로 지정해주면 굳이 IntegrationTestInitializer 정적 클래스의 initialize() 메서드를 구현해 동적으로 호스트와 아이피를 지정할 필요가 없을 것이라고 생각했습니다. 왜 application.yml 에서 각 모듈의 호스트를 localhost 로 지정해주셨는지 여쭤보고 싶습니다.

 

질문2.

redis, kafka 에 특화된 테스트 컨테이너 모듈을 사용하셨는데, 이러한 모듈을 사용하지 않고 그냥 testImplementation "org.testcontainers:testcontainers:1.19.0" 만을 사용해서 테스트 컨테이너를 구동시켜 테스트해도 되는지 여쭤보고 싶습니다. 예를 들어 이런 식으로 입니다.

스크린샷 2024-10-03 오후 4.33.14.png

 

질문 읽어주셔서 감사합니다.

springdockerjunitmockito소프트웨어-테스트

Câu trả lời 2

0

jyujyu님의 프로필 이미지
jyujyu
Người chia sẻ kiến thức

안녕하세요. 지식공유자 쥬쥬입니다!

말씀하신대로, 브릿지 네트워크를 이용해 구성하시는 것도 가능합니다.

강의를 시청하시는 분들이 최대한 오류없이 그대로 따라하실 수 있도록 위처럼 강의를 제작했습니다!

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.
cjkimhello97님께서 질문하신 내용을 아래와 같이 답변드립니다.

질문 1에 대한 답변:
application.yml에서 각 모듈의 호스트를 localhost로 지정하는 이유는 주로 테스트 환경에서 로컬 개발 머신에서 테스트를 수행하기 위함입니다. localhost로 지정하면 개발자는 다른 네트워크 설정 없이 로컬 개발 환경에서 바로 서비스를 테스트할 수 있습니다. 컨테이너 이름을 호스트로 지정하는 경우 Docker 네트워크 내에서만 접근이 가능하므로, 로컬에서 접근할 때 문제를 일으킬 수 있습니다.

질문 2에 대한 답변:
특화된 모듈 없이 org.testcontainers:testcontainers:1.19.0을 사용해도 테스트 컨테이너를 실행시킬 수 있습니다. 그러나 Redis, Kafka와 같은 특정 서비스에 대해서는 해당 모듈들이 좀 더 최적화된 설정과 유틸리티를 제공하므로 이를 사용하는 것이 더 편리할 수 있습니다. 기본 모듈만 사용하는 경우, 서비스에 필요한 추가 설정이나 초기화를 수동으로 해야 할 수도 있습니다.

추가적으로 이미지에서처럼 Docker Compose를 사용하여 다양한 서비스를 한 번에 기동할 수 있지만, 개별 서비스에 대한 설정은 직접 관리해야 합니다.

Spring Boot Reference Documentation 및 관련 정보를 통해 더 자세한 설정 방법을 확인할 수 있으니 참고해 보시기 바랍니다.
출처 URL

감사합니다.

Hình ảnh hồ sơ của cjkimhello974724
cjkimhello974724

câu hỏi đã được viết

Đặt câu hỏi