expected true to respond to true?

六眼飞鱼酱① 提交于 2019-11-27 01:44:34

问题


I upgraded my rspec-rails to 3.0.1 and now I'm seeing this error on all of my tests

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

I can't find the solution nor what I'm missing.


回答1:


From rspec 3.0, be_true is renamed to be_truthy and be_false to be_falsey

The behavior has not changed. So

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

will pass, and

(anything other than nil or false).should be_truthy

will also pass

From the changelog 3.0.0.beta1 / 2013-11-07

Rename be_true and be_false to be_truthy and be_falsey. (Sam Phippen)




回答2:


To not to rewrite lot of existing specs, you can add this to spec_helper (it harms my sense of harmony but saves time):

def true.true?
  true
end

def true.false?
  false
end

def false.true?
  false
end

def false.false?
  true
end


来源:https://stackoverflow.com/questions/24081843/expected-true-to-respond-to-true

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!