v5.0.2
5.0.2 / 2018-03-05
This release fixes a class of tests which report as false positives. Certain tests will now break, though they would have previously been reported as passing. Details below. Sorry for the inconvenience!
🐛 Fixes
-
#3226: Do not swallow errors that are thrown asynchronously from passing tests (@boneskull). Example:
it('should actually fail, sorry!', function (done) { // passing assertion assert(true === true); // test complete & is marked as passing done(); // ...but something evil lurks within setTimeout(() => { throw new Error('chaos!'); }, 100); });
Previously to this version, Mocha would have silently swallowed the
chaos!
exception, and you wouldn't know. Well, now you know. Mocha cannot recover from this gracefully, so it will exit with a nonzero code.Maintainers of external reporters: If a test of this class is encountered, the
Runner
instance will emit theend
event twice; you may need to change your reporter to userunner.once('end')
intead ofrunner.on('end')
. -
#3093: Fix stack trace reformatting problem (@outsideris)
🔩 Other
- #3248: Update
browser-stdout
to v1.3.1 (@honzajavorek)