Java프로그래밍

[SPRING BOOT] 스프링 배치 JUnit 테스트시 오류발생한다면? 내꺼 모듈만 실행하는 방법

프로젝트에서 배치를 개발하고 있다. 그런데 소스를 git에  commit and push 하는 개발자들이 너무 많다보니 오류나는 소스를 마구하구 올려놓는다.

이유는 하나다. Git에 소스 올릴때 소스 충돌발생하면 merge해야하니 테스트도 안된 소스들을 git에 올리는 것이다.

Git 사용법도 제대로 모르고 사용하는 개발자들이 많다. 하아….

오류나는 소스들 주석처리 후 JUnit 테스트를 하려다보니 임계치에 도달해서 더 이상 이대로는 테스트불가! 왜 남의 시간을 빼앗아가는가?

JUnit 테스트시 단독 실행 방법

1. 테스트할 모듈에대한 JUnit테스트 파일을 만든다.

[STS] JUnit(제이유닛) 설정 및 스프링부트 배치 JUnit 테스트 방법

2. Junit 테스트 클래스 생성시 다음 어노테이션만 선언해준다

@ComponentScan

@EnableAutoConfiguration

@EnableBatchProcessing

@import({TestConfig.class})

@SpringBootTest(classes = {BackendApplication.class})

3. @ComponentScan 어노테이션 선언시 본인의 패키지 클래스만 지정해준다.

@ComponentScan(“com.test.batch.test359b”)

4. BackendApplication.java 클래스 파일을 열어 @ComponentScan 어노테이션의 지정 패키지를 필수 패키지만 스캔하도록 변경한다.

As-Is

@ComponentScan(“com.test”)

To-be 예시

@ComponentScan({“com.test.batch.common”,com.test.batch.log”, 등등등})

실행하면서 필수 라이브러리  없으면 오류가 발생할 것이다. 그때마다 @ComponentScan에 추가해줘서 찾아줘야한다.

만약 오류가 발생한다면 메이븐 Update Project를 실행하면 된다.

이제 초고속으로 남이 짠 오류난 코드와 관계없이 내 코드만 실행할 수 있다.

error: Content is protected !!