복붙노트

[SPRING] 오이로 봄 부팅 프로필을 활성화하는 방법

SPRING

오이로 봄 부팅 프로필을 활성화하는 방법

나는 나의 오이 테스트를위한 스프링 프로파일을 활성화시키는 좋은 방법을 찾고있다. 오이 테스트는 다음과 같이 표시된 스텁 버전의 서비스를 사용해야합니다.

@Profile("test")
@Component
class FooServiceStub extends FooService {...}

정규 서비스는 다음과 같습니다.

@Profile("prod")
@Component
class FooService {...}    

내 요구 사항 :

출처를 찾았지만 문제를 해결하지 못하는 출처 :

해결법

  1. ==============================

    1.필자는 FeatureStep 클래스에 추가 한 주석으로이 문제를 해결했습니다.

    필자는 FeatureStep 클래스에 추가 한 주석으로이 문제를 해결했습니다.

    주석 :

    거기에 @ActiveProfiles를 적어 둡니다.

    import java.lang.annotation.*;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.ActiveProfiles;
    import org.springframework.test.context.ContextConfiguration;
    
    @Target(ElementType.TYPE)
    @Retention(RetentionPolicy.RUNTIME)
    @ContextConfiguration
    @ActiveProfiles("test")
    @SpringBootTest(
        webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, 
        classes = FeatureTestConfiguration.class)
    public @interface FeatureFileSteps {
    }
    

    구성 클래스는 매우 기본입니다.

    @Configuration
    @Import(FooApplication.class)
    public class FeatureTestConfiguration {
    
    }
    

    특수 효과 사용 :

    지형지 물 단계에 주석 추가하기 :

    @FeatureFileSteps
    public class FooFeatureSteps {
        @Given(...)
        @When(...)
        @Then(...)
    }
    

    Cucumber 기능 테스트를 실행할 때 IDE, maven 명령 줄 또는 빌드 서버에서 FooServiceSTub를 사용하고 테스트가 통과합니다.

  2. from https://stackoverflow.com/questions/43203301/how-to-activate-spring-boot-profile-with-cucumber by cc-by-sa and MIT license