The ``++done++`` callback is used to inform Mocha when an asynchronous test ends. Exceptions thrown after ``++done++`` (with or without parameters) is called are not handled in a consistent manner. Sometimes they will be correctly handled, but they might as well be assigned to a different test, no test at all, or even be completely ignored. Even when it works as expected this will be a source of confusion for other developers. Thus no code should be executed after ``++done++`` is called.
This rule raises an issue when some code is executed after a call to ``++done++``.
== Noncompliant Code Example
----
const expect = require("chai").expect;
const fs = require("fs");
describe("Code is executed after Done", function() {
it("Has asserts after done()", function(done) {
try {
expect(1).toEqual(2);
} catch (err) {
done();
// This assertion will be ignored and the test will pass.