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 を使用してこのデータ駆動型を実行できるかどうかに興味がありました。