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-test
APIとともにすべてのJUnit 5 APIにアクセスできるようになります。
以下はbuild.gradle.kts
の完全なコードです。
plugins {
kotlin("jvm") version "2.2.10"
}
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を使って最初のサーバーサイドアプリケーションを作成します。