更新:从 4.3+ 版本开始,有些地方发生了变化。
版本 4.3+(更新)
KotlinTest 已重命名为 Kotest。 SpringExtension 是与 spring 集成的类。 The documentation 使用方法非常简单。
除了Kotest依赖外,还要加上SpringExtension:
testImplementation("io.kotest.extensions:kotest-extensions-spring:1.0.0")
然后将SpringExtension 添加到您的扩展程序中。从那时起,您可以在测试中使用Spring Boot 必须提供的所有内容,例如ContextConfiguration 和其他:
@SpringBootTest
class MyTestSpec : FunSpec() {
override fun extensions() = listOf(SpringExtension)
init {
test("I'm inside a Spring context!") { }
}
}
版本 3.3.2(非常旧)
Kotlintest 有一个 very nice guide 介绍如何设置 Spring Extension 以测试 Spring Framework。
基本上,除了KotlinTest的依赖,你还要加上Spring Extension:
testImplementation ("io.kotlintest:kotlintest-runner-junit5:3.3.2") // KT dependency
testImplementation("io.kotlintest:kotlintest-extensions-spring:3.3.2") // KT Spring Extensions
然后您将SpringListener 和 SpringBootTest 包含到您的代码中:
import org.springframework.boot.test.context.SpringBootTest
import io.kotlintest.spring.SpringListener
@SpringBootTest
class SpringExample : FreeSpec() {
override fun listeners() = listOf(SpringListener)
init {
"Verify context loads" {
}
}
}
您不需要将SpringListener 添加到您创建的每个测试中,您可以使用ProjectConfig 对其进行全局配置。 ProjectConfig 在KotlinTest Documentation中解释了