본문 바로가기
프로그래밍/Java & Spring

configuration test 대체하기

by 방구석개발자 2022. 5. 7.
반응형

왜 사용했나요?

테스트 자동화 도입 중 여러 DataSourceConfiguration중에서 RedshiftDataSourceConfiguration 가 있는데 TestContainer에서 제외하고 싶어서 사용했습니다.

어떻게 사용했나요?

@TestConfiguration를 붙이고 아래와 같이 작성합니다.

@TestConfiguration
@Profile({"test"})
public class TestRedshiftDataSourceConfiguration
{

    @Bean(name = "redshiftDataSource")
    public DataSource redshiftDataSource()
    {
        return new DataSource() {
        	//...
        }
        //...
    }
    
}

테스트 하고 싶은 클래스에 @Import를 붙입니다.

@Import(TestRedshiftDataSourceConfiguration.class)

저는 테스트 컨테이너를 사용할 것이라서 테스트 메인 클래스에 붙여서 사용했습니다.

@Import(TestRedshiftDataSourceConfiguration.class)
@SpringBootTest
public class TestApplication
{

    public static void main(String[] args)
    {
        SpringApplication.run(TestApplication.class, args);
    }

}

참고

https://meetup.toast.com/posts/124

 

 

 

반응형

댓글