kotlin kotest/kotlintest Behavior Spec afterSpec/finalizeSpec调用太频繁或根本不调用
我有一个kotlin kotest(以前称为kotlintest)行为规范 一个kotlin kotest/kotlintest Behavior Spec afterSpec/finalizeSpec调用太频繁或根本不调用,kotlin,micronaut,kotlintest,kotest,Kotlin,Micronaut,Kotlintest,Kotest,我有一个kotlin kotest(以前称为kotlintest)行为规范 一个给定(“…”,多个当(“…”)时,然后(“…”) 我想在整个规范(分别是给定的每个子句)完成后执行清理 @MicronautTest class StructurePersistSpec( private val iC : InstancesC ) : BehaviorSpec({ // afterSpec { finalize
给定(“…”
,多个当(“…”)时,然后(“…”
)
我想在整个规范(分别是给定的每个子句)完成后执行清理
@MicronautTest
class StructurePersistSpec(
private val iC : InstancesC
) : BehaviorSpec({
// afterSpec {
finalizeSpec {
cleanup()
}
Given("...") {
When("...") {
Then("...") {
...
}
Then("...") {
...
}
}
When("...") {
Then("...") {
...
}
Then("...") {
...
}
}
}
...
}
在使用afterSpec{}
时,我得到了对afterSpec{}
子句的多个调用(调用量When
s??),而不仅仅是在规范完成后(或给定的/each子句完成后)调用一个
使用finalizeSpec{}
时,根本不会调用它(它内部的断点永远不会被命中)
我做错了什么
或者我错过了行为规范
s的一些奇特特性吗?您收到多个调用的原因可能是您为测试设置了不同的隔离模式
这意味着您的规范将在每次测试中重新创建(然后清理)。为了从框架中调用单个afterSpec
,必须将IsolationMode
设置为SingleInstance
请记住,这可能会影响测试的执行方式,从而影响测试的有效性或通过能力
文档:您收到多个调用的原因可能是您为测试设置了不同的隔离模式
这意味着您的规范将在每次测试中重新创建(然后清理)。为了从框架中调用单个afterSpec
,必须将IsolationMode
设置为SingleInstance
请记住,这可能会影响测试的执行方式,从而影响测试的有效性或通过能力
文档:您是否在项目/测试配置中覆盖了隔离模式
?您是否在项目/测试配置中覆盖了隔离模式
?