希望在这里得到一些意见。
使用RSPEC检查布尔值的最佳方法我已经看到它采用了几种不同的方式:
myvar.should == true
myvar.should be true
myvar.should be
此外,我通常只关心duck值,也就是说,如果它的值为true / false,那么我不关心它的实际值是什么......
答案 0 :(得分:14)
这是“== 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,那么你想使用== true
答案 1 :(得分:3)
我最后做了相反的逻辑:
expect([true, false]).to include myvar
答案 2 :(得分:0)
在我的建议中,最好的方法是将rspec_boolean添加到组中的Gemfile:development,:test:
gem' rspec_boolean'
而不是像使用它一样:
期待(val.is_something?)。to be_boolean