首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有模拟的数据驱动测试

带有模拟的数据驱动测试
EN

Stack Overflow用户
提问于 2014-09-17 12:48:56
回答 1查看 512关注 0票数 6

我有一个接收ContactForm对象和接收对象的映射的方法。因此,我编写了以下规范,根据表单的查询返回来自Map的正确收件人:

代码语言:javascript
复制
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 ...

有数据驱动的方法吗?不幸的是,不传递表单,但查询字符串本身现在不是一个选项,因为这将需要大规模重构。我只是好奇斯波克是否有可能进行这种数据驱动的操作,尽管在每次测试之前必须更改模拟。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-17 12:56:45

您可以这样做(不确定这是否是您所要求的):

代码语言:javascript
复制
@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"]
}
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25891035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档