Test code using JUnit in JVM – tutorial
This tutorial shows you how to write a simple unit test and run it with the Gradle build tool.
The example in the tutorial has the kotlin.test
library under the hood and runs the test using JUnit.
To get started, first download and install the latest version of IntelliJ IDEA.
Add dependencies
Open a Kotlin project in IntelliJ IDEA. If you don't have a project, create one.
Open the
build.gradle(.kts)
file and check that thetestImplementation
dependency is present. This dependency allows you to work withkotlin.test
andJUnit
:dependencies { // Other dependencies. testImplementation(kotlin("test")) }dependencies { // Other dependencies. testImplementation 'org.jetbrains.kotlin:kotlin-test' }Add the
test
task to thebuild.gradle(.kts)
file:tasks.test { useJUnitPlatform() }test { useJUnitPlatform() }
Here's a complete code for the build.gradle.kts
:
Add the code to test it
Open the
Main.kt
file insrc/main/kotlin
.The
src
directory contains Kotlin source files and resources. TheMain.kt
file contains sample code that printsHello, World!
.Create the
Sample
class with thesum()
function that adds two integers together:class Sample() { fun sum(a: Int, b: Int): Int { return a + b } }
Create a test
In IntelliJ IDEA, select Code | Generate | Test... for the
Sample
class:Specify the name of the test class. For example,
SampleTest
:IntelliJ IDEA creates the
SampleTest.kt
file in thetest
directory. This directory contains Kotlin test source files and resources.Add the test code for the
sum()
function inSampleTest.kt
:Define the test
testSum()
function using the@Test
annotation.Check that the
sum()
function returns the expected value by using theassertEquals()
function.
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)) } }
Run a test
Run the test using the gutter icon:
Check the result in the Run tool window:
The test function was executed successfully.
Make sure that the test works correctly by changing the
expected
variable value to 43:@Test fun testSum() { val expected = 43 assertEquals(expected, classForTesting.sum(40, 2)) }Run the test again and check the result:
The test execution failed.
What's next
Once you've finished your first test, you can:
Write more tests using other
kotlin.test
functions. For example, use theassertNotEquals()
function.Improve your test output with the Kotlin Power-assert compiler plugin. The plugin enriches the test output with contextual information.
Create your first server-side application with Kotlin and Spring Boot.