After all exceptions dispatch to reporter hook

- Add 'afterAllException' hook to reporter dispatch, we might want to make this more generic in the future
- Add afterAllException function to HtmlReporter

[#66789174]
This commit is contained in:
Christopher Amavisca and Greg Cobb
2014-03-06 12:01:37 -08:00
parent a3c3505086
commit 97ae9a2d88
7 changed files with 108 additions and 7 deletions

View File

@@ -307,7 +307,7 @@ describe("Env integration", function() {
expect(reporter.specDone.calls.argsFor(1)[0].failedExpectations[0].message)
.toEqual("Expected 1 to be 2.");
done();
});
});
env.addReporter(reporter);
@@ -328,6 +328,58 @@ describe("Env integration", function() {
env.execute();
});
it("reports when afterAll throws an exception", function(done) {
var env = new j$.Env(),
error = new Error('After All Exception'),
reporter = jasmine.createSpyObj('fakeReport', ['jasmineDone','afterAllException']);
reporter.jasmineDone.and.callFake(function() {
expect(reporter.afterAllException).toHaveBeenCalledWith(error);
done();
});
env.addReporter(reporter);
env.describe('my suite', function() {
env.it('my spec', function() {
});
env.afterAll(function() {
throw error;
});
});
env.execute();
});
it("reports when an async afterAll throws an exception", function(done) {
var env = new j$.Env(),
error = new Error('After All Exception'),
reporter = jasmine.createSpyObj('fakeReport', ['jasmineDone','afterAllException']);
reporter.jasmineDone.and.callFake(function() {
expect(reporter.afterAllException).toHaveBeenCalledWith(error);
done();
});
env.addReporter(reporter);
env.describe('my suite', function() {
env.it('my spec', function() {
});
env.afterAll(function(done) {
throw error;
});
});
env.execute();
});
it("Allows specifying which specs and suites to run", function(done) {
var env = new j$.Env(),
calls = [],