谁能用一个简单的例子向我解释Rubybe_true
和be true
Ruby之间的区别。我也看到了be_true
,be_false
并更改为be_truthy
和be_falsey
我有一个'be true'
工作的例子,但是当我尝试使用'be_true'
或指定'be_truthy'
失败时。
我正在使用RSpec 3.1.7版本
根据此线程 be_true
,be_false
现在称为be_truthy
和be_falsy
。
be true
和be_truthy
或be false
和之间的基本区别be_falsy
是be_falsy
/be_truthy
匹配器通过,如果“预期结果”(即任何对象)不是(对于be_falsy
)/不是(对于be_truthy
)nil
或false
,则另一方面be true
,be false
它==
用于验证您的“预期结果”(布尔对象)等于true
/ false
。
从rspec期望的真实性来看,这意味着:
expect(actual).to be_truthy # passes if actual is truthy (not nil or false)
expect(actual).to be true # passes if actual == true
expect(actual).to be_falsy # passes if actual is falsy (nil or false)
expect(actual).to be false # passes if actual == false
expect(actual).to be_nil # passes if actual is nil
expect(actual).to_not be_nil # passes if actual is not nil
对于be true
和be false
:
it { expect(true).to be true } # passes
it { expect("string").to be true } # fails
it { expect(nil).to be true } # fails
it { expect(false).to be true } # fails
it { expect(false).to be false } # passes
it { expect("string").to be false} # fails
it { expect(nil).to be false} # fails
it { expect(true).to be false} # fails
对于be_truthy
和be_falsy
:
it { expect(true).to be_truthy } # passes
it { expect("string").to be_truthy } # passes
it { expect(nil).to be_truthy } # fails
it { expect(false).to be_truthy } # fails
it { expect(false).to be_falsy } # passes
it { expect(nil).to be_falsy } # passes
it { expect("string").to be_falsy} # fails
it { expect(true).to be_falsy } # fails
您可以在/ /"string"
以外的地方使用任何其他对象作为“预期结果” ,因为它们已存在于上面所示的示例中。nil
true
false
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句