我对 Kotlin 和 Kotest 还是新手,我正在努力寻找一种方法来创建 BDD 测试风格。我的问题是框架如何能够创建可重用的给定步骤。例如:
class KotestTest1 : BehaviorSpec({
given("State A") {
// Verify the State A exists
println("Verify the State A exists")
`when`("Action A") {
// Execute Action A
println("Execute Action A")
then("State => A1") {
// Verify the state is now A1
println("Verify the state is now A1")
}
}
}
})
class KotestTest2 : BehaviorSpec({
given("State A") {
// Verify the State A exists
println("Verify the State A exists")
`when`("Action B") {
// Execute Action B
println("Execute Action B")
then("State => B1") {
// Verify the state is now B1
println("Verify the state is now B1")
}
}
}
})
所以在这里我有给定步骤“状态A”的代码重复。我想知道创建整个步骤的预期方式是什么。看起来 given(description: String) 是我必须重复的内容,因为println("Verify the State A exists")
我只是将其提取到常用函数中。
我希望我可以更好地构建我的代码,以便我可以创建给定的步骤并在多个测试场景中使用它们。对此有何建议?