6

ContactFormオブジェクトと受信者のマップを受け取るメソッドがあります。そこで、フォームの問い合わせに基づいて、マップから正しい受信者が返されるという次の仕様を書きました。

def "Correct recipients for first inquiry"() {
    setup:
    def form = Mock(ContactForm)
    form.getInquiry() >> "Subject 1"

    expect:
    sut.getRecipients(form, recipientsTestMap) == ["recipient1"]
}

def "Correct recipients for second inquiry"() {
    setup:
    def form = Mock(ContactForm)
    form.getInquiry() >> "Subject 2"

    expect:
    sut.getRecipients(form, recipientsTestMap) == ["recipient2"]
}

// and so on ...

これを行うためのデータ駆動型の方法はありますか? 残念ながら、フォームを渡さずに照会文字列自体を渡すことは、現時点ではオプションではありません。これには大規模なリファクタリングが必要になるためです。各テストの前にモックを変更する必要がありますが、Spock を使用してこのデータ駆動型を実行できるかどうかに興味がありました。

4

1 に答える 1