使用rspec。到eq()语法和expect()的好处

时间:2014-07-08 12:59:04

标签: ruby rspec

我收到了关于rspec的.should方法变得折旧的警告,并找到了更新的“expect”语法。玩一个简单的例子,我看到似乎有几个选择:

it("should be named 'ruby'") do
  expect(thing.name).to eq('ruby')
end

it ("should be named 'ruby'") do
  expect(thing.name == 'ruby')
end

似乎如果你想进行比较,你只能做第二个选择:

it ("should be smaller than 5") do
  expect(thing.amount < 5)
end

这是我第一次进入rspec,甚至测试真的。为什么要使用.to eq()语法?

1 个答案:

答案 0 :(得分:1)

我认为expect(thing.name == 'ruby')甚至无效。如果你想测试的是小于或大于你可以做到这一点:

it ("should be smaller than 5") do
  expect(thing.amount).to be < 5
end

像这样显式的好处是,rspec可以为你提供更好的错误消息,因为它确切地知道它正在检查什么,而不是“下面的表达式应该是真的”