Seb*_*mba 5 groovy unit-testing data-driven-tests spock
我有一个接收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 ...
Run Code Online (Sandbox Code Playgroud)
是否有数据驱动的方式来做到这一点?不幸的是,没有传递表单,但查询字符串本身现在不是一个选项,因为这将需要大量重构.我很好奇Spock是否有可能做这个数据驱动,尽管在每次测试之前必须更改模拟.
您可以通过以下方式执行此操作(不确定这是否是您要求的):
@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"]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
289 次 |
| 最近记录: |