Spec-Zone.ru › Kotlin 1.8

Руководство по 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 пошагово:

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

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

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

  4. Используйте модульное тестирование в модельном анализе

  5. Рассмотрите популярные ограничения алгоритмов

  6. Проверьте алгоритм на соблюдение гарантий неблокируемого прогресса

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

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

  • Вебинар. Lincheck: тестирование конкурентности на JVM: Часть 1, Hydra 2021, АНГЛ

  • Вебинар. Lincheck: тестирование конкурентности на JVM: Часть 2, Hydra 2021, АНГЛ

  • Lincheck. Тестирование конкуретных структур данных в Java, Heisenbug 2019, РУС

  • Тестирование конкуретных алгоритмов с помощью Lincheck, Joker 2019, РУС

  • Lincheck: тестирование конкуретных структур данных на Java, Hydra 2019, РУС

  • Тестирование алгоритмов без блокировок, Joker 2017, РУС

Последнее изменение: 10 января 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