更新:从 4.3+ 版本开始,有些东西发生了变化。
版本 4.3+(更新)
KotlinTest 更名为 Kotest。这SpringExtension
是与spring集成的类。关于如何使用它的文档非常简单。
除了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 有一个关于如何设置 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
and 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 文档中进行了解释