我有一个接收ContactForm对象和接收对象的映射的方法。因此,我编写了以下规范,根据表单的查询返回来自Map的正确收件人:
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 ...有数据驱动的方法吗?不幸的是,不传递表单,但查询字符串本身现在不是一个选项,因为这将需要大规模重构。我只是好奇斯波克是否有可能进行这种数据驱动的操作,尽管在每次测试之前必须更改模拟。
发布于 2014-09-17 12:56:45
您可以这样做(不确定这是否是您所要求的):
@Unroll
def "Correct recipients for #inquiry inquiry"() {
setup:
def form = Mock(ContactForm)
form.getInquiry() >> inquiry
expect:
sut.getRecipients(form, recipientsTestMap) == result
where:
inquiry | result
"Subject 1" | ["recipient1"]
"Subject 2" | ["recipient2"]
}https://stackoverflow.com/questions/25891035
复制相似问题