1

私はまだ 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")それを共通関数に抽出するだけです。

与えられたステップを作成して複数のテスト シナリオで使用できるように、コードをより適切に構造化できればと思います。それに関する提案はありますか?

4

1 に答える 1