jest-to-sonar
Version:
Convert the Jest test case report to a Sonar generic test execution report.
27 lines (26 loc) • 1.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SonarReporter = void 0;
const utils_1 = require("../helpers/utils");
class SonarReporter {
constructor(...args) {
var _a;
this.testFileResults = new Map();
const [, second] = args;
this.outputFile = (_a = second === null || second === void 0 ? void 0 : second.outputFile) !== null && _a !== void 0 ? _a : './coverage/sonar-report.xml';
}
onTestResult(test, result) {
const { testResults } = result;
const testCases = testResults.map(({ fullName, duration, status, failureMessages }) => ({
name: fullName,
duration: duration !== null && duration !== void 0 ? duration : 0,
status,
failureMessages: failureMessages,
}));
this.testFileResults.set((0, utils_1.getRelativePath)(test.path), testCases);
}
onRunComplete() {
(0, utils_1.createFile)(this.outputFile, (0, utils_1.generateXML)(this.testFileResults));
}
}
exports.SonarReporter = SonarReporter;