我的陈述如下:
@obj[:attribute].eql?("TestValue").should be_true
如果不是只告诉我测试失败,它会告诉我它失败了,因为@obj [:属性]是零或者是1234或者不管它是什么,这样会很好。有没有办法做到这一点?
答案 0 :(得分:7)
做类似
的事情@obj.attribute.should eql(5)
它会抛出错误,你通常会看到
expected 5
got 10
您有eql?
的具体原因吗?
答案 1 :(得分:0)
当然,rspec确实输出了预期值和实际值之间的差异。您只需更改匹配器即可向您提供更多相关信息。现在你的期望是表达式@obj[:attribute].eql?("TestValue")
将为真,而rspec将通知你它是假的。如果你把你的期望重写为
@obj[:attribute].should eql("TestValue")
你应该看到你正在寻找的那种输出。