토리맘의 한글라이즈 프로젝트 logo 토리맘의 한글라이즈 프로젝트

스프링 클라우드 컨트랙트 공식 레퍼런스를 한글로 번역한 문서입니다.

전체 목차는 여기에 있습니다.


Stub Runner는 Spring Cloud와 통합할 수 있다.

실생활의 예시는 다음을 참고해라:

목차

Stubbing Service Discovery

Stub Runner Spring Cloud의 가장 중요한 특징은 아래 두 가지를 위한 스텁stub을 생성한다는 점이다:

즉, Zookeeper, Consul, Eureka, 또는 다른 어떤 것을 사용하더라도 테스트 환경에선 필요하지 않다. Stub Runner Spring Cloud는 추가한 의존성에 맞게 WireMock 인스턴스를 시작하고 있으며, Feign을 사용할 때마다 애플리케이션이 실제 서비스 디스커버리 도구를 호출하는 대신 각 서비스에서 필요한 RestTemplate이나 DiscoveryClient를 직접 로드해 스텁stub 서버를 호출하도록 지시한다.

Test Profiles and Service Discovery

일반적으로 통합 테스트에선 디스커버리 서비스(e.g. Eureka)나 컨피그 서버를 호출하고 싶지는 않을 거다. 따라서 관련 기능을 비활성화할 수 있는 테스트 설정을 추가해야 한다.

관련해서는 spring-cloud-commons에 제약이 있기 때문에, 다음 예제와 같이 스태틱 블록에서 관련 프로퍼티들을 비활성화해줘야 한다 (예제에선 Eureka를 비활성화한다):

    //Hack to work around https://github.com/spring-cloud/spring-cloud-commons/issues/156
    static {
        System.setProperty("eureka.client.enabled", "false");
        System.setProperty("spring.cloud.config.failFast", "false");
    }

Additional Configuration

stubrunner.idsToServiceIds 맵을 사용하면 스텁stubartifactId를 애플리케이션의 이름과 매칭시킬 수 있다.

기본적으로 모든 서비스 디스커버리는 스텁stub으로 처리된다. 다시 말해, 기존에 DiscoveryClient가 있더라도 무시한다. 하지만 기존 것을 재사용하고 싶은 경우, stubrunner.cloud.delegate.enabledtrue로 설정하면 기존 DiscoveryClient의 결과와 스텁stub 처리한 결과를 병합한다.

Stub Runner에서 쓰는 디폴트 Maven 설정은 아래 시스템 프로퍼티를 사용하거나, 관련 환경 변수를 통해 변경할 수 있다:


Next :
3.6.6. Using the Stub Runner Boot Application
Stub Runner Boot 활용하기

전체 목차는 여기에 있습니다.

<< >>

TOP