私はモカとチャイを学んでいます。to.equal(true)とto.be.trueの違いは何ですか?
to.equal(true)
またはto.be.true
を使用しなければならないことを理解しておいてください。それぞれがより良い状況であることがわかります。
ありがとうございます!
私はモカとチャイを学んでいます。to.equal(true)とto.be.trueの違いは何ですか?
to.equal(true)
またはto.be.true
を使用しなければならないことを理解しておいてください。それぞれがより良い状況であることがわかります。
ありがとうございます!
がdocsから私の理解では、.to
と.be
と期待/万一構文の様々な他の部分は単なる構文であるということですがあります見てdoens't砂糖、実際の機能はありません。
したがって.to.be.true
=== .true
および.to.equal(true)
=== .equal(true)
です。違いがあれば、.true
と.equal(true)
の間にあり、違いはありません。 .true
は、.equal(true)
の単なる構文上の略語です。
同じことをテストします。つまり、.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
テストは失敗しますが、カスタムエラーメッセージは無視されます。