stryker-mocha-runner
Version:
A plugin to use the mocha test runner in Stryker, the JavaScript mutation testing framework
57 lines • 2.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var test_runner_1 = require("stryker-api/test_runner");
var Timer_1 = require("./Timer");
var StrykerMochaReporter = /** @class */ (function () {
function StrykerMochaReporter(runner) {
this.runner = runner;
this.timer = new Timer_1.default();
this.passedCount = 0;
this.registerEvents();
StrykerMochaReporter.currentInstance = this;
}
StrykerMochaReporter.prototype.registerEvents = function () {
var _this = this;
this.runner.on('start', function () {
_this.passedCount = 0;
_this.timer.reset();
_this.runResult = {
errorMessages: [],
status: test_runner_1.RunStatus.Error,
tests: []
};
StrykerMochaReporter.log.debug('Starting Mocha test run');
});
this.runner.on('pass', function (test) {
_this.runResult.tests.push({
name: test.fullTitle(),
status: test_runner_1.TestStatus.Success,
timeSpentMs: _this.timer.elapsedMs()
});
_this.passedCount++;
_this.timer.reset();
});
this.runner.on('fail', function (test, err) {
_this.runResult.tests.push({
failureMessages: [err.message],
name: test.fullTitle(),
status: test_runner_1.TestStatus.Failed,
timeSpentMs: _this.timer.elapsedMs()
});
if (!_this.runResult.errorMessages) {
_this.runResult.errorMessages = [];
}
_this.runResult.errorMessages.push(err.message);
if (StrykerMochaReporter.log.isTraceEnabled()) {
StrykerMochaReporter.log.trace("Test failed: " + test.fullTitle() + ". Error: " + err.message);
}
});
this.runner.on('end', function () {
_this.runResult.status = test_runner_1.RunStatus.Complete;
StrykerMochaReporter.log.debug('Mocha test run completed: %s/%s passed', _this.passedCount, _this.runResult.tests.length);
});
};
return StrykerMochaReporter;
}());
exports.StrykerMochaReporter = StrykerMochaReporter;
//# sourceMappingURL=StrykerMochaReporter.js.map