gpt4 book ai didi

ruby-on-rails - 我可以用 Spock 做这个吗?

转载 作者:行者123 更新时间:2023-12-04 05:38:31 25 4
gpt4 key购买 nike

我在 ROR 中看到了一个测试领域类的例子:

context "Validations" do
[:city, :zip, :street].each do |attr|
it "must have a #{attr}" do
a = Address.new
a.should_not be_valid
a.errors.on(attr).should_not be_nil
end
end
end

它使用不同的值和不同的名称动态创建测试...这很有趣,但是...我可以使用 spock 或 jUnit 来做到这一点吗?

非常感谢

最佳答案

使用 Spock:

class Validations extends Specification {
def "must have a #attr"() {
def a = new Address()

expect:
!a.valid
a.errors.on(attr) != null

where:
attr << ["city", "zip", "street"]
}
}

如果有多个数据变量,表格语法更方便:

        ...
where:
attr1 | attr2
"city" | ...
"zip" | ...
"street" | ...

关于ruby-on-rails - 我可以用 Spock 做这个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097406/

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