gpt4 book ai didi

unit-testing - 带有模拟的数据驱动测试

转载 作者:行者123 更新时间:2023-12-04 04:35:26 24 4
gpt4 key购买 nike

我有一个接收 ContactForm 的方法对象和带有收件人的 map 。所以我写了以下规范,根据表单的查询返回 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 ...

有没有数据驱动的方法来做到这一点?不幸的是,现在不传递表单而是传递查询字符串本身不是一种选择,因为这需要大量重构。我只是很好奇 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"]
}

关于unit-testing - 带有模拟的数据驱动测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25891035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com