我收到了关于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()语法?
答案 0 :(得分:1)
我认为expect(thing.name == 'ruby')
甚至无效。如果你想测试的是小于或大于你可以做到这一点:
it ("should be smaller than 5") do
expect(thing.amount).to be < 5
end
像这样显式的好处是,rspec可以为你提供更好的错误消息,因为它确切地知道它正在检查什么,而不是“下面的表达式应该是真的”