Я запускаю некоторые асинхронные тесты в Mocha с помощью Browser Runner, и я пытаюсь использовать утверждения стиля ожидания Chai:
window.expect = chai.expect;
describe('my test', function() {
it('should do something', function (done) {
setTimeout(function () {
expect(true).to.equal(false);
}, 100);
}
}
Это не дает мне обычное сообщение о неудачном утверждении, вместо этого я получаю:
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)
Таким образом, очевидно, что он перехватывает ошибку, он просто не отображает ее правильно. Есть идеи, как это сделать? Думаю, я мог бы просто позвонить "сделано" с помощью объект ошибки, но тогда я теряю всю элегантность чего-то вроде Chai, и он становится очень неуклюжим...