Лучший способ проверить булевы значения в Rspec - PullRequest
7 голосов
/ 16 августа 2011

Глядя, чтобы получить некоторые мнения здесь.

Каков наилучший способ проверки логических значений с помощью RSPEC? Я видел, что это делалось несколькими разными способами:

myvar.should == true
myvar.should be true
myvar.should be

Также мне обычно важна только значение утки, то есть, еслион оценивается как истина / ложь, тогда мне все равно, каково его действительное значение ...

Ответы [ 3 ]

14 голосов
/ 16 августа 2011

Вот разница между "== true" и "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

Что в основном означает, что если вас волнует только то, что значение оценивается как true, тогда вы хотите использовать ==правда

3 голосов
/ 24 ноября 2015

Я закончил тем, что делал противоположную логику:

expect([true, false]).to include myvar
0 голосов
/ 16 сентября 2015

По моему совету лучше всего добавить rspec_boolean в ваш Gemfile в группе: development,: test:

самоцвет 'rspec_boolean'

И чем его использовать, как:

ожидать (val.is_something?). Быть be_boolean

...