Best Way to Test Boolean Values in Rspec
Looking to开发者_如何转开发 get some opinions here.
What is the best way to check boolean values with RSPEC I have seen it done a few different ways:
myvar.should == true
myvar.should be true
myvar.should be
Also I usually only care about the duck value, that is, if it evaluates to true / false then I don't care what its actual value is...
Here's the difference between "== true" and "be(true)":
describe true do
it { should be(true) }
it { should be_true }
end
describe 'true' do
it { should_not be(true) }
it { should be_true }
end
Which basically means that if you only care if a value evaluates to true then you want to use == true
I ended up doing the opposite logic:
expect([true, false]).to include myvar
In my advise the best way is to add rspec_boolean to your Gemfile in the group :development, :test:
gem 'rspec_boolean'
And than use it like:
expect(val.is_something?).to be_boolean
精彩评论