RSpec与Cucumber:提升软件开发效率的利器
1. RSpec宏与自定义匹配器
1.1 自定义匹配器基础
在编写测试时,自定义匹配器能帮助我们构建特定领域的DSL来描述代码。例如在 rspec-rails 中,常见的测试代码如下:
describe Widget do
it "requires a name" do
widget = Widget.new
widget.valid?
widget.should have(1).error_on(:name)
end
end
使用自定义匹配器可以让代码更简洁:
describe Widget do
it "requires a name" do
widget = Widget.new
widget.should require_attribute(:name)
end
end
还能利用隐式主题进一步简化:
describe Widget do
it { should require_attribute(:name) }
end
1.2 宏的引入
2006年, shoulda 库出现,它引入了宏的概念,用于表达测试中常见的冗余内容。例如:
超级会员免费看
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



