2015-01-26 7 views
0

스프링 배치 어플리케이션이 있습니다. 응용 프로그램을 실행할 수있는 기능과 함께 우리는 각 작업을 단독으로 실행하고 작업이 완료된 후에 어설 션을 수행 할 수있는 경량의 테스트 클래스도 제공합니다.스프링 배치 연속 통합 테스트

테스트를 로컬에서 실행하는 경우에는 문제가 없습니다. 그러나 TeamCity와 같은 지속적인 통합 환경에서 실행되는 테스트를 정의하는 모범 사례로 간주되는 사항에 대해서는 누구든지 조언 할 수 있습니다.

예를 들어 데이터베이스를 설정 또는 삭제하거나 대기열이나 파일에 쓰는 테스트를 연속 통합의 일부로 실행해야합니까? 이러한 리소스를 조롱해야합니까? 그렇다면 Spring Batch가 지원해야하는 클래스가 있습니까?

아니면 위의 잔인한 사람입니까? 대안은 프로세서와 같이 우리가 작성한 도메인 특정 논리에 대한 테스트를 실행하기위한 지속적인 통합을위한 것입니다.

비슷한 질문은 지속적인 통합을 사용하여 Spring Integration 어플리케이션을 테스트하는 것과 관련이 있습니다.

답변

0

in-memory 솔루션을 사용할 수 있습니다 : 임베디드 데이터베이스, 단순 관리자. 테스트가 끝나면 그 리소스를 닫고 파괴하십시오. Spring Boot은 이에 대한 충분한 AutoCofiguration 옵션을 제공합니다.

+0

감사합니다. Artem. 파일, 대기열에 쓰는 것은 어떻습니까? – user1052610

+0

'files'는 JUnit'TemporaryFolder'를 기반으로 할 수 있습니다. 대기열은 기본적으로 메모리에 있으며 (또는 임베디드 DB를 기반으로 할 수 있습니다) 응용 프로그램 범위에만 있습니다. –