JVMでのJUnitを使ったテストコード – チュートリアル
このチュートリアルでは、Kotlin/JVMプロジェクトでシンプルな単体テストを書き、Gradleビルドツールを使って実行する方法を紹介します。
このプロジェクトでは、kotlin.testライブラリを使用し、JUnitを使ってテストを実行します。 マルチプラットフォームアプリを開発している場合は、Kotlin Multiplatformチュートリアルを参照してください。
開始するには、まずIntelliJ IDEAの最新バージョンをダウンロードしてインストールしてください。
依存関係の追加
IntelliJ IDEAでKotlinプロジェクトを開きます。プロジェクトがない場合は、 作成してください。
build.gradle(.kts)ファイルを開き、testImplementation依存関係が存在することを確認します。 この依存関係により、kotlin.testとJUnitを操作できるようになります。kotlindependencies { // Other dependencies. testImplementation(kotlin("test")) }groovydependencies { // Other dependencies. testImplementation 'org.jetbrains.kotlin:kotlin-test' }build.gradle(.kts)ファイルにtestタスクを追加します。kotlintasks.test { useJUnitPlatform() }groovytest { useJUnitPlatform() }ビルドスクリプトで
useJUnitPlatform()関数を使用すると、kotlin-testライブラリは自動的にJUnit 5を依存関係として含めます。 この設定により、JVM専用プロジェクトおよびKotlin Multiplatform (KMP) プロジェクトのJVMテストで、kotlin-testAPIとともにすべてのJUnit 5 APIにアクセスできるようになります。
以下はbuild.gradle.ktsの完全なコードです。
plugins {
kotlin("jvm") version "2.2.21"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}テストするコードの追加
src/main/kotlin内のMain.ktファイルを開きます。srcディレクトリにはKotlinのソースファイルとリソースが含まれています。Main.ktファイルにはHello, World!を出力するサンプルコードが含まれています。2つの整数を合計する
sum()関数を持つSampleクラスを作成します。kotlinclass Sample() { fun sum(a: Int, b: Int): Int { return a + b } }
テストの作成
IntelliJ IDEAで、
Sampleクラスに対してCode | Generate | Test...を選択します。
テストクラスの名前を指定します。例えば、
SampleTestです。
IntelliJ IDEAは
testディレクトリにSampleTest.ktファイルを作成します。 このディレクトリにはKotlinのテストソースファイルとリソースが含まれています。src/test/kotlinにテスト用の*.ktファイルを自分で作成することもできます。SampleTest.ktにsum()関数のテストコードを追加します。@Testアノテーションを使用して、テストtestSum()関数を定義します。assertEquals()関数を使用して、sum()関数が期待される値を返すことを確認します。
kotlinimport 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)) } }
テストの実行
ガターアイコンを使用してテストを実行します。

./gradlew checkコマンドを使用して、コマンドラインインターフェース経由でプロジェクトのすべてのテストを実行することもできます。Runツールウィンドウで結果を確認します。

テスト関数は正常に実行されました。
expected変数の値を43に変更して、テストが正しく動作することを確認します。kotlin@Test fun testSum() { val expected = 43 assertEquals(expected, classForTesting.sum(40, 2)) }再度テストを実行し、結果を確認します。

テスト実行は失敗しました。
次のステップ
最初のテストを終えたら、以下を行うことができます。
- 他の
kotlin.test関数を使用して、さらにテストを書くことができます。 例えば、assertNotEquals()関数を使用します。 - Kotlin Power-assertコンパイラプラグインでテスト出力を改善します。 このプラグインは、テスト出力にコンテキスト情報を付加します。
- KotlinとSpring Bootを使って最初のサーバーサイドアプリケーションを作成します。
