테스트를 자동화하기 위해선 테스트를 실행하는 것까지 자동화해야 수동으로 실행하지 않고 스케줄에 맞춰 테스트를 수행할 수 있습니다.
이번 포스팅에서는 Gradle을 이용해 Kotlin/Java에서 IDE없이 테스트를 실행하는 방법을 알아보겠습니다.
1. Gradle이란?
Gradle은 빌드 자동화 도구로, 특히 Kotlin과 Java 같은 JVM 기반 언어로 프로젝트를 관리할 때 많이 사용됩니다. Gradle은 유연하고 강력한 의존성 관리 기능을 제공하며, Kotlin 개발에 최적화된 빌드 도구로 자리 잡고 있습니다. 또한, Gradle은 여러 언어와 플랫폼을 지원하며, 스크립트는 **DSL (Domain-Specific Language)**를 통해 직관적으로 작성할 수 있습니다.
2. 왜 Kotlin/Java에서 Gradle을 사용하는가?
- 의존성 관리: Gradle은 프로젝트에 필요한 라이브러리나 플러그인을 쉽게 추가하고 관리할 수 있습니다. Kotlin 프로젝트에 필수적인 라이브러리들을 build.gradle.kts 파일에 간단히 추가할 수 있습니다.
- 빌드 자동화: 코드 컴파일, 테스트, 배포 같은 복잡한 빌드 과정을 간소화해 줍니다. 하나의 명령어로 이러한 작업을 자동화할 수 있습니다.
- 확장성: 다양한 플러그인을 통해 기능을 확장할 수 있으며, 멀티 프로젝트 관리도 용이합니다.
- Kotlin과의 통합성: Gradle은 Kotlin DSL을 지원하며, 프로젝트 빌드 스크립트를 Kotlin으로 작성할 수 있습니다. 이를 통해 Kotlin 프로젝트에서 Gradle을 사용하는 것이 매우 자연스러운 선택이 됩니다.
3. Gradle 기본 설정
Kotlin 프로젝트에서 Gradle을 설정하려면, 먼저 build.gradle.kts 파일에서 필요한 설정을 해야 합니다. 간단한 Kotlin 프로젝트의 Gradle 설정 예시는 다음과 같습니다.
// build.gradle.kts
plugins {
kotlin("jvm") version "1.8.0"
application
}
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
}
application {
mainClass.set("MainKt")
}
위 설정은 Kotlin JVM 프로젝트에서 사용할 Gradle 플러그인을 설정하고, kotlin-stdlib 라이브러리를 추가합니다. 또한, application 플러그인을 통해 메인 클래스를 지정할 수 있습니다.
4. Kotlin으로 구구단 프로그램 만들기
Kotlin으로 간단한 구구단 프로그램을 만들어 보고, 이를 Gradle을 통해 실행하는 방법을 설명하겠습니다.
4.1 Kotlin 코드 (구구단) 작성
먼저, src/main/kotlin/Main.kt 파일을 만들어 구구단을 출력하는 Kotlin 코드를 작성합니다.
// src/main/kotlin/Main.kt
fun main(args: Array<String>) {
if (args.isEmpty()) {
println("숫자를 입력해주세요.")
return
}
val number = args[0].toIntOrNull()
if (number == null) {
println("유효한 숫자를 입력해주세요.")
return
}
printMultiplicationTable(number)
}
fun printMultiplicationTable(number: Int) {
println("$number단을 출력합니다:")
for (i in 1..9) {
println("$number x $i = ${number * i}")
}
}
이 코드는 프로그램이 실행될 때 인자로 받은 숫자를 바탕으로 해당 숫자의 구구단을 출력합니다.
4.2 Gradle Task 설정
이제 Gradle을 통해 프로그램을 실행할 수 있는 Task를 설정합니다. build.gradle.kts 파일에 Task를 추가해보겠습니다.
// build.gradle.kts
plugins {
kotlin("jvm") version "1.8.0"
application
}
repositories {
mavenCentral()
}
dependencies {
implementation(kotlin("stdlib"))
}
application {
mainClass.set("MainKt")
}
// Custom task to run the multiplication table
tasks.register("runMultiplication") {
doLast {
println("Please provide a number to print the multiplication table.")
}
}
tasks.named<JavaExec>("run") {
standardInput = System.`in`
}
여기서 runMultiplication이라는 커스텀 Task를 만들었으며, run Task를 이용해 Gradle에서 프로그램을 실행할 수 있습니다.
4.3 프로그램 실행
이제 Gradle을 통해 프로그램을 실행할 수 있습니다. Gradle에서 run Task를 실행하고, 숫자를 입력하면 해당 숫자의 구구단이 출력됩니다.
다음 명령어를 터미널에서 실행하여 구구단 프로그램을 실행합니다.
./gradlew run --args="7"
이 명령어는 숫자 7에 맞는 구구단을 출력합니다.
5. 실행 결과
$ ./gradlew run --args="7"
> Task :run
7단을 출력합니다:
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
이와 같이 Gradle을 통해 Kotlin 프로그램을 빌드하고, 인자를 전달하여 실행할 수 있습니다.
Kotlin과 Gradle은 함께 사용하기에 매우 유연하고 강력한 도구입니다. Gradle을 사용하면 Kotlin 코드의 빌드 및 실행 과정이 간편해지며, 의존성 관리, 자동화된 빌드, Task 실행 같은 다양한 기능을 활용할 수 있습니다.
'기타' 카테고리의 다른 글
테스트 케이스 작성 전략 (2) | 2024.09.27 |
---|---|
Github와 Githib Actions 맛보기 (1) | 2024.09.20 |
Mobile App 초기 실행 테스트 (0) | 2024.09.13 |
마이크로서비스 아키텍처에서 API 테스트하기 (1) | 2024.09.09 |
Python 기초 개념 정리하기 (4) | 2024.09.02 |