期望真实回应真实吗?

时间:2014-06-06 12:27:03

标签: ruby-on-rails ruby-on-rails-4 rspec rspec-rails rspec3

我将rspec-rails升级到3.0.1,现在我在所有测试中都看到了这个错误

 Failure/Error: Sidekiq::Status::complete?(json.jid).should be_true
  expected true to respond to `true?`

我找不到解决方案,也找不到我想念的内容。

2 个答案:

答案 0 :(得分:92)

从rspec 3.0开始,be_true重命名为be_truthybe_false重命名为be_falsey

行为没有改变。所以

(nil).should be_falsey
(false).should be_falsey

将通过,

(anything other than nil or false).should be_truthy

也将通过

来自changelog 3.0.0.beta1 / 2013-11-07

  

将be_true和be_false重命名为be_truthy和be_falsey。 (Sam Phippen)

答案 1 :(得分:1)

为了不重写很多现有的规格,你可以将它添加到spec_helper(这会损害我的和谐感但节省时间):

def true.true?
  true
end

def true.false?
  false
end

def false.true?
  false
end

def false.false?
  true
end