관리 메뉴

피터의 개발이야기

[Spring] Gradle 프로젝트에서 테스트를 스킵하는 방법 본문

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규격이 자주 변경되면 개발에 방해가 될 수 있다.

  이런 경우, 테스트 스킵은 유용한 방법이지만, 엄연히 임시적인 해결책이다. 장기적으로는 모든 테스트가 정상적으로 실행되도록 유지하는 것이 중요하다.

 

ㅁ 함께 보면 좋은 사이트

Gradle Build Skip Test (테스트 없이 빌드)

Skipping Tests With Gradle

반응형
Comments