Тестирование кода с использованием JUnit в JVM – учебник
В этом руководстве вы узнаете, как написать простой модульный тест и запустить его с помощью инструмента сборки Gradle.
В примере руководства используется библиотека kotlin.test и выполняется тест с помощью JUnit.
Для начала скачайте и установите последнюю версию IntelliJ IDEA.
Добавление зависимостей
-
Откройте Kotlin-проект в IntelliJ IDEA. Если у вас еще нет проекта, создайте его.
-
Откройте файл
build.gradle(.kts)и добавьте следующую зависимость в конфигурацию Gradle. Эта зависимость позволит работать сkotlin.testиJUnit.dependencies { // Other dependencies. testImplementation(kotlin("test")) }dependencies { // Other dependencies. testImplementation 'org.jetbrains.kotlin:kotlin-test' } -
Добавьте задачу
testв файлbuild.gradle(.kts).tasks.test { useJUnitPlatform() }test { useJUnitPlatform() }
Добавление кода для тестирования
-
Откройте файл
main.ktвsrc/main/kotlin.Директория
srcсодержит Kotlin-исходные файлы и ресурсы. Файлmain.ktсодержит пример кода, который будет выводитьHello, World!. -
Создайте класс
Sampleс функциейsum(), которая складывает два целых числа:class Sample() { fun sum(a: Int, b: Int): Int { return a + b } }
Создание теста
-
В IntelliJ IDEA выберите Код | Создать | Тест... для класса
Sample. -
Укажите имя класса теста. Например,
SampleTest.IntelliJ IDEA создаст файл
SampleTest.ktв директорииtest. Эта директория содержит Kotlin-файлы и ресурсы для тестов. -
Добавьте код теста для функции
sum()вSampleTest.kt.Определите функцию теста
testSum()с помощью аннотации @Test.Проверьте, что функция
sum()возвращает ожидаемое значение, используя функцию assertEquals().
import kotlin.test.Test import kotlin.test.assertEquals internal class SampleTest { private val testSample: Sample = Sample() @Test fun testSum() { val expected = 42 assertEquals(expected, testSample.sum(40, 2)) } }
Запуск теста
-
Запустите тест, используя значок в области редактирования.
-
Проверьте результат в окне Запуск:
Функция теста была выполнена успешно.
-
Убедитесь, что тест работает правильно, изменив значение переменной
expectedна 43:@Test fun testSum() { val expected = 43 assertEquals(expected, classForTesting.sum(40, 2)) } -
Запустите тест снова и проверьте результат:

Выполнение теста завершилось ошибкой.
Что дальше
После завершения первого теста вы можете:
Попробуйте написать другой тест, используя другие функции kotlin.test. Например, вы можете использовать функцию
assertNotEquals().Создайте свое первое приложение с Kotlin и Spring Boot.
Посмотрите эти видеоуроки на YouTube, которые демонстрируют использование Spring Boot с Kotlin и JUnit 5.
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/jvm-test-using-junit.html