什么时候Rspec是真的!=真的吗?

时间:2014-10-16 18:19:10

标签: ruby-on-rails ruby rspec3

我正在阅读Hartl的RoR教程,在rspec测试中有一个块来检查密码是否匹配。在这一栏中是这一行:

     expect(@user.has_password?(@attr[:password])).to be_true

失败了。但我知道代码是有效的,因为如果我把这行:

puts @user.has_password?(@attr[:password])

在块中输出“true”。真正让我感到惊讶的是我把这句话放在了一边:

     expect(true).to be_true

取代上面的线......并且测试仍然失败。怎么了?

1 个答案:

答案 0 :(得分:0)

似乎be_true已重命名为be_truthy。尝试以下变体之一:

expect(true).to be true
expect(true).to be_truthy

第一个仅适用于true。 对于不是falsenil的任何内容,第二个。