Spec-Zone.ru › Kotlin 1.9

Руководство по Lincheck

Lincheck — это практичный и удобный фреймворк для тестирования конкурирующих алгоритмов на JVM. Он предоставляет простой и декларативный способ написания конкурентных тестов.

С помощью фреймворка Lincheck, вместо описания того, как выполнять тесты, вы можете указать что тестировать, объявив все операции для проверки и требуемое свойство корректности. В результате типичный конкурентный тест Lincheck содержит всего около 15 строк.

При заданном списке операций Lincheck автоматически:

  • Генерирует набор случайных сценариев конкурентного выполнения.

  • Проверяет их с помощью стресс-тестирования или ограниченного модельного проверки.

  • Проверяет, что результаты каждого вызова удовлетворяют требуемому свойству корректности (по умолчанию — линейная корректность).

Добавление Lincheck в ваш проект

Для включения поддержки Lincheck необходимо добавить соответствующий репозиторий и зависимость в конфигурацию Gradle. В вашем файле build.gradle(.kts) добавьте следующее:

repositories {
    mavenCentral()
}
 
dependencies {
    testImplementation("org.jetbrains.kotlinx:lincheck:2.22")
}
repositories {
    mavenCentral()
}

dependencies {
    testImplementation "org.jetbrains.kotlinx:lincheck:2.22"
}

Изучение Lincheck

Это руководство поможет вам познакомиться с фреймворком и попробовать самые полезные функции с примерами. Изучайте возможности Lincheck поэтапно:

  1. Напишите свой первый тест с Lincheck

  2. Выберите свою стратегию тестирования

  3. Настройте аргументы операций

  4. Учтите популярные ограничения алгоритмов

  5. Проверьте алгоритм на гарантии неблокируемого прогресса

  6. Определите последовательную спецификацию алгоритма

Дополнительные ссылки

  • "Как мы тестируем конкурентные алгоритмы в Kotlin Coroutines" Никиты Коваля: Видео. KotlinConf 2023

  • "Lincheck: Тестирование конкурентности на JVM" мастер-класс Марии Соколовой: Часть 1, Часть 2. Hydra 2021

Последнее изменение: 25 июля 2023 г.
Сериализация Напишите свой первый тест с Lincheck

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API