Ich führe einige asynchrone Tests in Mocha mit dem Browser Runner aus und versuche, Chais Assertion Style Assertions zu verwenden:
window.expect = chai.expect;
describe('my test', function() {
it('should do something', function (done) {
setTimeout(function () {
expect(true).to.equal(false);
}, 100);
}
}
Dies gibt mir nicht die normale fehlgeschlagene Bestätigungsnachricht, sondern ich erhalte:
Error: the string "Uncaught AssertionError: expected true to equal false" was thrown, throw an Error :)
at Runner.fail (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3475:11)
at Runner.uncaught (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3748:8)
at uncaught (http://localhost:8000/tests/integration/mocha/vendor/mocha.js:3778:10)
Es fängt also offensichtlich den Fehler auf, es zeigt ihn einfach nicht richtig an. Irgendwelche Ideen, wie das geht? Ich denke, ich könnte mit einem Fehlerobjekt einfach "erledigt" nennen, aber dann verliere ich die Eleganz von etwas wie Chai und es wird sehr klobig ...