본문 바로가기
TEST

spring boot 빌드 시, 특정 테스트 제외하기

by YoonJong 2023. 1. 19.
728x90

프로젝트를 배포하는 과정에서 build 할 때 테스트코드 실패로 인해 진행이 불가능할 때가 있다.

로컬에서는 이상없이 돌아가지만, 배포 시 문제가 된다.

 

이에 특정 테스트를 제외할 수 있는 방법이 있다.

나는 프로젝트에서 서비스레이어 테스트는 단위테스트(mock 사용) 을 하고 , 컨트롤러 테스트는 통합테스트 (springbootTest) 를 진행했다.

 

단위테스트는 mock 객체를 사용하므로, DB 의 내용과 관계가 없기 때문에 빌드할 때 포함해야 한다고 판단했고,

통합테스트는 DB 안에 있는 값으로 성공여부를 판단하기 때문에, 빌드시 제외해 주기로 했다.

 

build.grade 에 아래의 코드를 추가하면된다.

해당 코드의 뜻은 ControllerTest 가 포함되어 있는 테스트는 제외한다는 뜻이다.

정규식을 이용하며 * 를 사용한다.

test {
    filter {
        excludeTestsMatching "*ControllerTest*"
    }
}

 

테스트 패키지의 클래스 명을 보면 통합테스트를 진행하는 Controller 테스트는 ControllerTest 를 붙여주었다.

따라서, 해당 5개의 컨트롤러 테스트 뿐만 아니라 다른 테스트 패키지 하위의 클래스들도 빌드시 제외가 가능하다.

 

 

728x90

댓글