メインコンテンツまでスキップ

JVM で JUnit を使用してテスト コードを作成する – チュートリアル

このチュートリアルでは、Kotlin/JVM プロジェクトで簡単なユニットテストを作成し、Gradle ビルドツールで実行する方法を説明します。

このプロジェクトでは、kotlin.test ライブラリを使用し、JUnit を使用してテストを実行します。 マルチプラットフォームアプリで作業している場合は、Kotlin Multiplatform tutorial を参照してください。

まず、IntelliJ IDEA の最新バージョンをダウンロードしてインストールします。

依存関係を追加する

  1. IntelliJ IDEA で Kotlin プロジェクトを開きます。プロジェクトがない場合は、 作成してください

  2. build.gradle(.kts) ファイルを開き、testImplementation 依存関係が存在することを確認します。 この依存関係により、kotlin.test および JUnit を使用できます。

    dependencies {
    // Other dependencies.
    testImplementation(kotlin("test"))
    }
  3. test タスクを build.gradle(.kts) ファイルに追加します。

    tasks.test {
    useJUnitPlatform()
    }

    ビルドスクリプトで useJUnitPlatform() 関数を使用すると、 kotlin-test ライブラリには JUnit 5 が依存関係として自動的に含まれます。 この設定により、kotlin-test API とともに、すべての JUnit 5 API にアクセスできます。 JVM 専用のプロジェクト、および Kotlin Multiplatform (KMP) プロジェクトの JVM テストで。

build.gradle.kts の完全なコードを以下に示します。

plugins {
kotlin("jvm") version "2.1.20"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
mavenCentral()
}

dependencies {
testImplementation(kotlin("test"))
}

tasks.test {
useJUnitPlatform()
}

テストするコードを追加する

  1. src/main/kotlinMain.kt ファイルを開きます。

    src ディレクトリには、Kotlin のソースファイルとリソースが含まれています。 Main.kt ファイルには、Hello, World! を出力するサンプルコードが含まれています。

  2. 2 つの整数を加算する sum() 関数を持つ Sample クラスを作成します。

    class Sample() {

    fun sum(a: Int, b: Int): Int {
    return a + b
    }
    }

テストを作成する

  1. IntelliJ IDEA で、Code | Generate | Test...Sample クラスに対して選択します。

    Create a test
  2. テストクラスの名前を指定します。たとえば、SampleTest です。

    Create a test

    IntelliJ IDEA は、test ディレクトリに SampleTest.kt ファイルを作成します。 このディレクトリには、Kotlin のテストソースファイルとリソースが含まれています。

    テスト用の *.kt ファイルを src/test/kotlin に手動で作成することもできます。

  3. SampleTest.ktsum() 関数にテストコードを追加します。

    • @Test annotation を使用して、テスト testSum() 関数を定義します。
    • assertEquals() 関数を使用して、sum() 関数が期待値を返すことを確認します。
    import org.example.Sample
    import org.junit.jupiter.api.Assertions.*
    import kotlin.test.Test

    class SampleTest {

    private val testSample: Sample = Sample()

    @Test
    fun testSum() {
    val expected = 42
    assertEquals(expected, testSample.sum(40, 2))
    }
    }

テストを実行する

  1. ガターアイコンを使用してテストを実行します。

    Run the test

    コマンドラインインターフェイスで ./gradlew check コマンドを使用すると、プロジェクトのすべてのテストを実行することもできます。

  2. Run ツールウィンドウで結果を確認します。

    Check the test result. The test passed successfully

    テスト関数は正常に実行されました。

  3. expected 変数の値を 43 に変更して、テストが正しく動作することを確認します。

    @Test
    fun testSum() {
    val expected = 43
    assertEquals(expected, classForTesting.sum(40, 2))
    }
  4. テストを再度実行し、結果を確認します。

    Check the test result. The test has failed

    テストの実行に失敗しました。

次のステップ

最初のテストが完了したら、次のことができます。