Przeprowadzam kilka testów asynchronicznych w Mocha przy użyciu Browser Runner i próbuję użyć asercji oczekiwanego stylu Chai:
window.expect = chai.expect;
describe('my test', function() {
it('should do something', function (done) {
setTimeout(function () {
expect(true).to.equal(false);
}, 100);
}
}
To nie daje mi normalnego komunikatu o niepowodzeniu potwierdzenia, zamiast tego otrzymuję:
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)
Więc oczywiście wychwytuje błąd, po prostu nie wyświetla go poprawnie. Jakieś pomysły, jak to zrobić? Myślę, że mógłbym po prostu nazwać „gotowe” z obiektem błędu, ale potem tracę całą elegancję czegoś takiego jak Chai i staje się bardzo niezgrabne ...