728x90
프로젝트를 배포하는 과정에서 build 할 때 테스트코드 실패로 인해 진행이 불가능할 때가 있다.
로컬에서는 이상없이 돌아가지만, 배포 시 문제가 된다.
이에 특정 테스트를 제외할 수 있는 방법이 있다.
나는 프로젝트에서 서비스레이어 테스트는 단위테스트(mock 사용) 을 하고 , 컨트롤러 테스트는 통합테스트 (springbootTest) 를 진행했다.
단위테스트는 mock 객체를 사용하므로, DB 의 내용과 관계가 없기 때문에 빌드할 때 포함해야 한다고 판단했고,
통합테스트는 DB 안에 있는 값으로 성공여부를 판단하기 때문에, 빌드시 제외해 주기로 했다.
build.grade 에 아래의 코드를 추가하면된다.
해당 코드의 뜻은 ControllerTest 가 포함되어 있는 테스트는 제외한다는 뜻이다.
정규식을 이용하며 * 를 사용한다.
test {
filter {
excludeTestsMatching "*ControllerTest*"
}
}
테스트 패키지의 클래스 명을 보면 통합테스트를 진행하는 Controller 테스트는 ControllerTest 를 붙여주었다.
따라서, 해당 5개의 컨트롤러 테스트 뿐만 아니라 다른 테스트 패키지 하위의 클래스들도 빌드시 제외가 가능하다.
728x90
'TEST' 카테고리의 다른 글
동시성 이슈 해결 방법 (synchronized , redis Lock, MySQL Lock) (0) | 2024.02.18 |
---|---|
성능테스트 (with Locust) (0) | 2024.02.17 |
@RequestPart MultipartFile , Json 컨트롤러 통합 테스트 (0) | 2023.01.07 |
Page 테스트 코드 작성하기 (0) | 2022.12.26 |
댓글