스프링 부트 1.5.9를 사용 중이며 다른 마이크로 서비스와 연결되는 마이크로 서비스가 있습니다.여러 마이크로 서비스를 어떻게 관리하고 개발 환경 (테스트가 아닌)에서 조롱하는가?
(개발자 컴퓨터)의 통합 테스트 및 의 경우 다른 마이크로 서비스에 대한 나머지 호출을 모의 또는 스텁하고 싶습니다. unit/integration 테스트에서이 질문은 이미 여러 번 답변되었습니다 : WireMock, MockBean, MockRestServiceServer는 좋은 툴입니다. 그러나 개발을위한 나는 최선의 접근 방법을 찾으려고 노력하고있다.
왜? 실제 마이크로 서비스가 의존하는 각 마이크로 서비스를 시작하는 데 문제가 있습니다. 따라서 아이디어는 마이크로 서비스를 독립적으로 만들고 개발자의 컴퓨터 또는 다른 장소에서 실행중인 추가 서버없이 시작됩니다. 그래서, 간단한 'mvn spring-boot run'은 다른 마이크로 서비스에 대한 걱정없이 나의 마이크로 서비스를 시작하고 작업하기에 충분합니다.
제 질문은 다음과 같습니다. mock/stub rest를 호출 할 때 권장되는 개발 방법은 무엇입니까? Wiremock은이 경우에도 좋은 접근 방법입니까?
내 프로젝트
내가 src/main/java/resources/
에 두 개의 프로파일이 있습니다 (개발에 사용 application-dev.properties) '기본'(application.properties, 그 다른 환경에 사용되는)와 'dev에'.
내 테스트 (src/test/java/resources/
)에는 application-dev.properties의 기본 사본 인 application.properties가 하나뿐입니다.
이미 통합 테스트에 Wiremock을 사용하려고합니다. 그러나 JAR에서 개발에만 사용되는 의존성을 소개하는 아이디어가 너무 마음에 들지 않으므로 개발 용으로 사용하고 싶지 않습니다. 제 의도는 통합 테스트 및 개발과 동일한 전략을 사용하는 것입니다.
그래서 옵션은 무엇입니까?
두 번째 웹 서비스 용 클라이언트를 스프링 빈으로 작성하고 단위 테스트에서이 스프링 빈을 조롱하지 않는 이유는 무엇입니까? DAO를 데이터베이스의 클라이언트로 작성하고 유닛 테스트에서 DAO를 조롱하는 것과 같은 방법입니다. –
안녕하세요. 단위/통합 테스트 문제가 해결되었습니다 (Wiremock 사용). 제 질문은 봄 부팅을 할 때의 일반적인 개발 환경에 관한 것입니다. 나는 같은 접근법을 사용하는 것이 "옳은"일인지 여부를 모른다. – Dherik
관련 : https://stackoverflow.com/questions/39891218, https://softwareengineering.stackexchange.com/questions/332972, https://softwareengineering.stackexchange.com/questions/334609 – tkruse