24-го января 2020-го мы показывали:
- Как создать Gradle проект (New | Project... | Gradle | Kotlin/JVM).
- Какие файлы есть в проекте (важны файлы, которые есть в этом репозитории, а записанные в файле
.gitignore
не важны). - Что такое Gradle Wrapper (скрипт в корне репозитория, чтобы не устанавливать Gradle отдельно).
- Как подключить библиотеку для тестирования Kotlin/JVM (строка
testImplementation
в файлеbuild.gradle
). - Где писать код и как написать тесты (файлы
Convert.kt
иConvertTest.kt
). - Возможности проверок тестов:
assert(Not)Equals
(сравнить),assertFailsWith
(проверить выброс исключения — если уберем проверку в начале нашей функции, все равно будет падать то же исключение, так как аналогичная проверка есть вString.toInt(Int)
),- есть и другие (ищите по автодополнению
assert
).
- Аннотация
Test
, импортируемая из пакетаkotlin.test
— это на самом деле typealias настоящей аннотации подключенной библиотеки тестирования (в нашем случае jUnit) — позволяет менять библиотеки, а также переиспользовать тесты на других платформах: например, Kotlin/JS, Kotlin/Android. - Как запускать тесты через Идею (ПКМ по папке
src/test
, выбратьRun ...
), в специальной вкладке открывается табличка с прошедшими и непрошедшими тестами. - Как запускать тесты через терминал (выполнить
./gradlew(.bat) check
— задачаcheck
). - Кэширование в Gradle (задачи становятся UP-TO-DATE после однократного выполнения и не запускаются для экономии времени, для повторного выполнения нужно перед выполнением задачи либо поменять исходники, либо запустить
./gradlew(.bat) clean
для очистки кэшей). - Как запускать тест покрытия в Идее (ПКМ по папке
src/test
, выбратьRun ... with Coverage
, для отображения этого пункта может потребоваться ручная установка плагина Coverage в настройках Идеи, сбоку откроется табличка с процентами охваченных строк, а в коде слева строки будут подсвечиваться зеленым и красным).