0

我开始阅读一本关于 rSpec 的书,作为我测试 Rails 应用程序的基本介绍。我开始编写测试,例如:

it 'is valid with a name' do
  coaster = FactoryGirl.build(:coaster)
  expect(coaster).to be_valid
end

但是后来有人把我指向了应该,现在可以编写如下测试:

it { should validate_presence_of(:name) }

注意:我意识到发布的两个测试并不相同,只是每种类型的示例。

我需要澄清的是,Shouda 是 rSpec 的替代品还是应该是它的插件?

其他人会怎么做?总体而言,Shouda 测试似乎更简单、更短。

基本上任何想法和评论都会有所帮助。

4

2 回答 2

1

应该只是向 RSpec 添加额外的匹配器。

http://rubydoc.info/github/thoughtbot/should-matchers/master/frames

于 2013-08-13T15:37:40.017 回答
0

BDD风格通过expect暴露出来,expect是更自然的语言断言。首先,请注意,expect 要求只是对期望值的引用,而对于应该要求,该值正在被执行。should 样式为每个对象扩展了一个 should 属性,该属性在 ruby​​ 中称为猴子补丁。这是一篇很好的文章,它解释和比较了这两种断言机制。

于 2013-08-13T17:04:23.577 回答