Lincheck 指南
Lincheck 是一個實用且使用者友善的框架,用於在 JVM 上測試並發演算法。它提供了一種簡單且宣告式的方式來編寫並發測試。
藉由 Lincheck 框架,您無需描述如何執行測試,而是可以透過宣告所有要檢查的操作和所需的正確性屬性,來指定_要測試什麼_。因此,一個典型的 Lincheck 並發測試通常只包含大約 15 行程式碼。
當給定一系列操作時,Lincheck 會自動執行以下動作:
- 產生一組隨機的並發情境。
- 使用壓力測試 (stress-testing) 或有界模型檢查 (bounded model checking) 來檢查它們。
- 驗證每次調用的結果是否滿足所需的正確性屬性(線性化 (linearizability) 是預設屬性)。
將 Lincheck 加入您的專案
要啟用 Lincheck 支援,請將對應的儲存庫 (repository) 和依賴 (dependency) 包含到 Gradle 配置中。在您的 build.gradle(.kts)
檔案中,新增以下內容:
kotlin
repositories {
mavenCentral()
}
dependencies {
testImplementation("org.jetbrains.kotlinx:lincheck:2.39")
}
groovy
repositories {
mavenCentral()
}
dependencies {
testImplementation "org.jetbrains.kotlinx:lincheck:2.39"
}
探索 Lincheck
本指南將幫助您熟悉此框架並透過範例嘗試其最實用的功能。逐步學習 Lincheck 的功能: