[kotlin] JUnit 테스트와 정적 코드 분석 도구 (SonarQube) 통합

본 문서에서는 Kotlin 프로젝트에서 JUnit 테스트와 정적 코드 분석 도구인 SonarQube를 통합하는 방법에 대해 알아보겠습니다.

1. JUnit 테스트 작성

먼저, Kotlin 프로젝트에 JUnit 테스트를 작성해야 합니다. 예를 들어, 다음과 같이 Calculator.kt 파일에 간단한 계산기 클래스를 작성하고, CalculatorTest.kt 파일에 이에 대한 JUnit 테스트를 작성합니다.

Calculator.kt

class Calculator {
    fun add(a: Int, b: Int): Int {
        return a + b
    }
}

CalculatorTest.kt

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class CalculatorTest {
    val calculator = Calculator()

    @Test
    fun testAdd() {
        assertEquals(4, calculator.add(2, 2))
    }
}

2. SonarQube 통합

SonarQube를 사용하여 정적 코드 분석을 수행하고 품질 관리 정보를 수집하려면 다음 단계를 따르십시오.

2.1 SonarQube 서버 설치 및 실행

SonarQube 서버를 설치하고 실행합니다.

2.2 빌드 스크립트에 SonarQube 플러그인 추가

프로젝트의 빌드 스크립트에 SonarQube 플러그인을 추가합니다.

build.gradle

plugins {
    id("org.sonarqube") version "3.3"
}

sonarqube {
    properties {
        property("sonar.projectKey", "my_project_key")
        property("sonar.organization", "my_organization")
        property("sonar.host.url", "http://my_sonarqube_server")
    }
}

2.3 SonarScanner 실행

SonarScanner를 실행하여 소스 코드를 SonarQube 서버로 분석합니다.

./gradlew sonarqube

분석이 완료되면 SonarQube 대시보드에서 프로젝트의 품질 및 보고서를 확인할 수 있습니다.

이제 Kotlin 프로젝트에 JUnit 테스트와 SonarQube를 통합하여 코드 품질을 향상시킬 수 있습니다.

참고 자료