Руководство по Lincheck
Lincheck — это практичная и удобная в использовании платформа для тестирования конкуретных алгоритмов на JVM. Она предоставляет простой и декларативный способ написания конкуретных тестов.
В рамках Lincheck, вместо описания того, как проводить тесты, вы можете указать что тестировать, объявив все операции для проверки и требуемое свойство корректности. В результате типичный конкуретны тест Lincheck содержит всего около 15 строк.
При получении списка операций Lincheck автоматически:
Генерирует набор случайных конкуретных сценариев.
Проверяет их с помощью стресс-тестирования или ограниченного модельного анализа.
Проверяет, что результаты каждого вызова удовлетворяют требуемому свойству корректности (по умолчанию — линейная корректность).
Добавление Lincheck в ваш проект
Для включения поддержки Lincheck, добавьте соответствующий репозиторий и зависимость в конфигурацию Gradle. В вашем build.gradle(.kts) файле, добавьте следующее:
repositories {
mavenCentral()
}
dependencies {
testImplementation("org.jetbrains.kotlinx:lincheck:2.16")
}
repositories {
mavenCentral()
}
dependencies {
testImplementation "org.jetbrains.kotlinx:lincheck:2.16"
}
Изучение Lincheck
Это руководство поможет вам познакомиться с платформой и попробовать наиболее полезные функции с примерами. Изучайте возможности Lincheck пошагово:
Дополнительные ссылки
Вебинар. Lincheck: тестирование конкурентности на JVM: Часть 1, Hydra 2021, АНГЛ
Вебинар. Lincheck: тестирование конкурентности на JVM: Часть 2, Hydra 2021, АНГЛ
Lincheck. Тестирование конкуретных структур данных в Java, Heisenbug 2019, РУС
Тестирование конкуретных алгоритмов с помощью Lincheck, Joker 2019, РУС
Lincheck: тестирование конкуретных структур данных на Java, Hydra 2019, РУС
Тестирование алгоритмов без блокировок, Joker 2017, РУС
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/lincheck-guide.html