[Gradle] dependencies > test* 기능 알아보기
목차
- Spring Boot Gradle 프로젝트 설정
- build.gradle 파일을 통해 프로젝트 설정
- 의존성 관리
- dependencies 블록을 사용하여 의존성 관리
- 테스트 관련 의존성
- testImplementation을 통한 테스트에 필요한 라이브러리 추가
- testRuntimeOnly를 사용하여 테스트 실행 시 필요한 라이브러리 정의
- testFixturesImplementation 및 testFixturesRuntimeOnly를 사용하여 테스트 픽스처 모듈 정의
- testCompileOnly를 통한 테스트 시에만 필요한 컴파일 의존성 추가
- testAnnotationProcessor를 사용하여 테스트용 어노테이션 프로세서 정의
Spring Boot Gradle 프로젝트 설정
Spring Boot 프로젝트를 Gradle을 사용하여 설정하는 과정은 매우 중요합니다. 이를 위해 build.gradle 파일을 사용하며, 여기에서는 Spring Boot 플러그인 및 기타 필수 플러그인을 설정합니다.
plugins {
id 'org.springframework.boot' version '2.5.4'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'com.example'
version = '1.0-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
의존성 관리
프로젝트의 라이브러리 의존성은 dependencies 블록에서 관리됩니다. 주요 라이브러리의 버전은 명시적으로 기재되어야 합니다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web:2.5.4'
testImplementation 'org.springframework.boot:spring-boot-starter-test:2.5.4'
}
테스트 관련 의존성
테스트는 Spring Boot 프로젝트에서 핵심적인 부분이며, testImplementation과 관련된 의존성을 추가하여 테스트 환경을 구성합니다.
testImplementation
testImplementation 'org.springframework.boot:spring-boot-starter-test'
테스트 시에만 필요한 의존성을 선언합니다. 이는 컴파일 시에는 프로덕션 코드에 포함되지 않고, 테스트 시에만 필요합니다.
testRuntimeOnly
testRuntimeOnly 'com.some.testing.library:version'
테스트 실행에 필요한 라이브러리를 정의합니다. 이 라이브러리는 컴파일 시에는 필요하지 않고, 테스트 실행 시에만 필요합니다.
testFixturesImplementation 및 testFixturesRuntimeOnly
testFixturesImplementation 'com.example:test-fixtures:1.0.0'
testFixturesRuntimeOnly 'com.some.testing.library:version'
테스트 픽스처 모듈을 생성하는데 사용됩니다. 테스트 픽스처는 테스트에 필요한 리소스, 데이터 또는 설정을 포함하는 모듈로, 테스트 모듈들 간에 재사용될 수 있습니다.
추가로 testFixturesApi 기능도 있는데 하위 모듈에 "전의 의존"을 해주는 역활입니다.
(자세한 내용은 "[Gradle] implementation와 api의 차이" 글을 참고 부탁드립니다.)
testCompileOnly
testCompileOnly 'com.some.testing.library:version'
테스트 시에만 컴파일에 필요한 의존성을 선언합니다. 컴파일 후에는 포함되지 않습니다.
testAnnotationProcessor
testAnnotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
테스트용 어노테이션 프로세서를 정의합니다. 컴파일 시에 어노테이션 프로세서를 실행합니다.
이러한 의존성 구성 옵션들을 사용하여 프로젝트의 필요에 따라 효과적으로 의존성을 관리할 수 있습니다. 필요한 의존성 및 옵션을 선택하여 사용하면 됩니다.
결론
Spring Boot Gradle 프로젝트의 설정은 build.gradle 파일을 통해 이루어집니다. 주요 목차로는 프로젝트 설정, 의존성 관리, 그리고 테스트 관련 의존성이 있습니다. 의존성은 dependencies 블록에서 관리되며, 특히 테스트 관련 의존성은 testImplementation과 같은 설정으로 추가됩니다. 이를 통해 간편하게 Spring Boot 프로젝트를 구성하고, 테스트에 필요한 라이브러리를 관리할 수 있습니다.