RSpec中“ be_true”和“ be true”有什么区别

德·拉杰

谁能用一个简单的例子向我解释Rubybe_truebe trueRuby之间的区别我也看到了be_truebe_false并更改为be_truthybe_falsey

我有一个'be true'工作的例子,但是当我尝试使用'be_true'或指定'be_truthy'失败时。

我正在使用RSpec 3.1.7版本

苏里亚

根据此线程 be_truebe_false现在称为be_truthybe_falsy

be truebe_truthybe false之间的基本区别be_falsybe_falsy/be_truthy匹配器通过,如果“预期结果”(即任何对象)不是(对于be_falsy)/不是(对于be_truthynilfalse,则另一方面be truebe 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 truebe 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_truthybe_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"以外的地方使用任何其他对象作为“预期结果” ,因为它们已存在于上面所示的示例中。niltruefalse

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将这些方法应用于True值时,unittest模块中的assertIs和assertTrue有什么区别?

在MySQL中,“ flag is TRUE”与“ flag = TRUE”之间有什么区别?

在Linux中〜/和〜有什么区别?

Java中的&和&&有什么区别?

JavaScript中的&和&&有什么区别?

JavaScript中的'和'有什么区别?

bash中的“>”和“&>”有什么区别?

!=和=!有什么区别?在Java中?

Java中Boolean.TRUE和true有什么区别?

XPath中.//和// *有什么区别?

RSpec和Cucumber有什么区别?

“ ::”“。有什么区别?和C ++中的“->”

while(true)和while(\ true)之间有什么区别?

JavaScript中的true和false与true和falsy有什么区别?

“ else:return True”和“ return True”有什么区别?

Elixir中==和===有什么区别?

Prolog中的:-和?-有什么区别?

XPath中// * [*]和// * [。]有什么区别?

JavaScript中0/1和true / false之间有什么区别

python的默认参数值中的None和boolean(True,False)有什么区别?

在Django中,null = True和blank = True有什么区别?

jquery ajax中async:false和async:true有什么区别?

Rspec的期望(方法)vs期望(方法).to be_true

PHP中的while(true)和for(;;)之间有什么区别?

Clojure中的[]和'[]有什么区别

python语法中的True和False有什么区别?

MFC的OnInit()函数中return true和return false有什么区别

Haskell 中的 *> 和 >> 有什么区别?

“if (isupper(argument) == true)”和“if (isupper(argument))”有什么区别?注意:参数是我程序中的任何字符