Matthew
Matthew

Reputation: 13332

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...

Upvotes: 7

Views: 7862

Answers (3)

brauliobo
brauliobo

Reputation: 6333

I ended up doing the opposite logic:

expect([true, false]).to include myvar

Upvotes: 3

Lorenzo Sinisi
Lorenzo Sinisi

Reputation: 470

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

Upvotes: 0

solnic
solnic

Reputation: 5753

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

Upvotes: 15

Related Questions