Programming/Spring
[Spring] Gradle 프로젝트에서 테스트를 스킵하는 방법
기록하는 백앤드개발자
2024. 7. 3. 10:10
반응형
ㅁ 들어가며
ㅇ Gradle 프로젝트를 빌드할 때 테스트를 실행하지 않고 싶은 경우가 있다.
ㅇ [Spring] JUnit5 조건부 테스트 실행방법에서는 OS, JAVA 버젼, Property, 환경변수에 다른 테스트 진행 방법을 알아보았다.
ㅇ 이번 글에서는 빌드 시 테스트 전체를 스킵하는 방법을 정리하였다.
ㅇ 이는 빌드 시간을 단축하거나 특정 상황에서 테스트를 임시로 건너뛰고 싶을 때 유용하다.
ㅁ Gradle 명령어
gradle build --exclude-task test
// Gradle 5 이상
// -x 옵션은 특정 태스크를 실행하지 않도록
gradle build -x test
ㅁ build.gradle 테스트 스킵 설정
// 모든 테스트 스킵
test {
exclude '**/*'
}
// 특정 패키지
test {
exclude 'if/want/exclude**'
}
ㅁ 프로퍼티를 사용한 테스트 스킵
// build.gradle에 property 설정
test {
onlyIf {
!project.hasProperty('noTest')
}
}
gradle build -PnoTest
ㅇ gradle 명령에 -P로 property를 전달하면 테스트가 스킵된다.
ㅁ 환경 변수를 사용한 테스트 스킵
test {
onlyIf {
!Boolean.getBoolean('skipTests')
}
}
ㅇ groovy에서는 일부 코딩이 가능하다.
gradle build -DskipTests=true
ㅇ 환경변수로 true를 넘기면 테스트가 진행되지 않는다.
ㅇ 도커 빌드 시 환경변수를 이용하여 테스트 진행 여부를 관리할 수 있다.
ㅁ 마무리
현재 프로젝트가 kotlin + querydsl + TDD로 구성되어 있다. 빌드 시 DB 스키마와 entity를 비교 진단하고, 주어진 TestCase로 test를 진행하여 한번 더 기능에 대해 검증한다. 하지만, 개발 초기에 테이블과 API규격이 자주 변경되면 개발에 방해가 될 수 있다.
이런 경우, 테스트 스킵은 유용한 방법이지만, 엄연히 임시적인 해결책이다. 장기적으로는 모든 테스트가 정상적으로 실행되도록 유지하는 것이 중요하다.
ㅁ 함께 보면 좋은 사이트
반응형