Sie testen die gleiche Sache. Mit anderen Worten, .to.equal(true)
schlägt fehl, .to.be.true
wird auch fehlschlagen, und wo .to.equal(true)
erfolgreich ist, tut dies auch .to.be.true
.
jedoch sie unterscheiden sich in diesem .to.equal
nimmt eine optionale benutzerdefinierte Fehlermeldung während .to.be.true
nicht eine benutzerdefinierte Fehlermeldung nehmen.
var settings = {
verbose: "foo"
};
settings.verbose.should.equal(true, "verbose setting");
wird eine Fehlermeldung wie zeigen:
AssertionError: verbose setting: expected 'foo' to equal true
Die gleiche Sache mit expect(settings.verbose).to.equal(true, "verbose setting")
. Ohne die benutzerdefinierte Fehlermeldung, wird der Fehler sein:
AssertionError: expected 'foo' to equal true
Wenn Sie expect(settings.verbose).to.be.true("verbose setting")
den Test verwenden, wird fehlschlagen, aber die benutzerdefinierte Fehlermeldung ignoriert.