2016-07-25 6 views

答えて

4

docsから私の理解では、.to.beと期待/万一構文の様々な他の部分は単なる構文であるということですがあります見てdoens't砂糖、実際の機能はありません。

したがって.to.be.true === .trueおよび.to.equal(true) === .equal(true)です。違いがあれば、.true.equal(true)の間にあり、違いはありません。 .trueは、.equal(true)の単なる構文上の略語です。

1

同じことをテストします。つまり、.to.equal(true)が失敗する場合は、.to.be.trueも失敗し、.to.equal(true)が成功すると、.to.be.trueも成功します。

.to.be.trueは、カスタムエラーメッセージを取らないのに対し、しかし、彼らはその.to.equalで違うのですは、オプションのカスタムエラーメッセージを受け取り。 expect(settings.verbose).to.equal(true, "verbose setting")

AssertionError: verbose setting: expected 'foo' to equal true 

同じこと:

var settings = { 
    verbose: "foo" 
}; 
settings.verbose.should.equal(true, "verbose setting"); 

のようなエラーメッセージが表示されます。カスタムエラーメッセージがなければ、エラーは次のようになります。あなたがexpect(settings.verbose).to.be.true("verbose setting")を使用している場合

AssertionError: expected 'foo' to equal true 

テストは失敗しますが、カスタムエラーメッセージは無視されます。

関連する問題