Spring Boot 개발이 완료되면 배포를 하기 위해서 jar 또는 war로 빌드하는 과정을 거치게 됩니다. 빌드 과정에는 여러 가지를 실행하는데요. 이때 properties에 따라서 개발 DB 혹은 운영 DB로 변경될 수 있습니다. 만약 운영 DB에는 개발서버에서 직접 연결하지 못한다면 빌드 과정에 포함된 TEST에서 오류가 발생하는 걸 확인했어요.
이번 포스팅에서는 메이븐(Maven) 빌드 과정중 TEST를 Skip 하는 방법을 알아볼게요.
TDD (Test Driven Development)
Spring Boot 개발을 공부하거나 실무를 진행하는 과정에서 테스트는 굉장히 중요합니다. 그래서 다양한 케이스별로 테스트 프로그램을 진행합니다. 물론 Spring Boot는 이 테스트마저 쉽게 할 수 있도록 제공되니 프로그래머의 입장에서는 너무 편리한 것 같습니다.
모든 테스트가 완료되었고 이제 패키징해서 배포하려 하는데 문제가 발생합니다. 개발서버의 DB는 접속이 가능하지만 운영서버의 DB는 직접 접근이 불하는 한 거예요. 그래서 빌드 과정에서 에러가 나는 현상을 발견했습니다. 바로 테스트 프로그램을 진행하는 과정에서 DB에 접속할 수 없기 때문이었죠.
그래서 메이븐 빌드시 테스트 프로그램을 진행하지 않는 방법을 찾아보았습니다.
Maven(메이븐) 빌드시 테스트 Skip
메이븐 빌드시 Test를 Skip 하는 방법이 있습니다. 간단하게 두 가지 방법이 있는데요. 첫 번째는 메이븐 명령어로 빌드할 때, 옵션을 이용해서 스킵하는 방법, 그리고 두 번째는 Spring Boot의 pom.xml에서 properties를 추가하는 방법이 있습니다.
명령어 이용 방법
명령어를 이용하는 방법은 아래와 같이 mvn 명령어를 이용해서 빌드하는 방법입니다. 이때 -D 옵션을 이용해서 스킵하는 방법입니다.
$ mvn … -Dmaven.test.skip=true
pom.xml 이용 방법
Spring Boot의 메이븐은 pom.xml에 많은 정보들을 포함시켜놓습니다. 빌드 버전부터 시작해서 프로그램 정보가 다양하게 저장할 수 있어요. 그리고 빌드 테스트 skip도 지정할 수 있습니다,
<properties>
…
<maven.test.skip>true</maven.test.skip>
</properties>
사실 이 정보들 기반으로 자동으로 mvn 명령어를 Eclipse, Intellij와 같은 빌드 툴이 빌드를 해 주는 것이죠. 사실상 같은 역할이라 할 수 있습니다.
지금까지 메이븐을 사용할 경우 빌드과저에서 Test코드를 실행하지 않은 Skip 방법에 대해서 알아보았습니다. 만약 테스트 코드가 방대하다면 빌드 속도를 위해서 스킵할 수도 있어요. 도움이 되셨으면 합니다. 이상입니다.
'쿤즈 Dev > Spring Boot' 카테고리의 다른 글
[Spring Boot] Tomcat 포트 설정 및 변경 방법 (0) | 2022.02.17 |
---|---|
[Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 (2) | 2022.02.16 |
[Spring Boot] Mybatis 변수 사용시 #{ } 와 ${ } 의 차이 (0) | 2021.05.05 |
[Spring Boot] Mybatis 에서 조건문 사용시 null 과 zero size string 구분 방법 (0) | 2021.03.16 |
[Spring Boot] Mybatis 동적쿼리 LIKE 사용 방법 (0) | 2021.03.12 |
댓글