在Rspec中测试布尔值的最佳方法

Mat*_*hew 7 rspec ruby-on-rails rspec2

希望在这里得到一些意见.

使用RSPEC检查布尔值的最佳方法是什么我已经看到它采用了几种不同的方式:

myvar.should == true
myvar.should be true
myvar.should be
Run Code Online (Sandbox Code Playgroud)

另外我通常只关心duck值,也就是说,如果它的值为true/false,那么我不关心它的实际值是什么......

sol*_*nic 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
Run Code Online (Sandbox Code Playgroud)

这基本上意味着如果你只关心一个值是否为true,那么你想使用== true

  • 我没有意识到您可以在描述行中传递值'it',我一直使用主题{}进行设置。凉。 (2认同)