UNPKG

jest-trx-results-processor

Version:

Jest results processor for exporting into TRX files for Visual Studio

37 lines (29 loc) 1.1 kB
import { AggregatedResult } from "@jest/test-result"; import { Config } from "@jest/types"; import { writeFileSync } from "fs"; import mkdirp from "mkdirp"; import path from "path"; import { defaultOutputFile, defaultUserName } from "./constants"; import { generateTrx, IOptions } from "./trx-generator"; class TrxReporter { private options: IOptions; public constructor(_: Config.GlobalConfig, options: IOptions) { this.options = { ...options, defaultUserName: options?.defaultUserName ?? defaultUserName, outputFile: options?.outputFile ?? defaultOutputFile, }; } public onRunComplete = ( _: any, aggregatedResults: AggregatedResult, ): Promise<void> | void => { const trx = generateTrx(aggregatedResults, this.options); const targetDir = path.dirname(path.resolve(this.options.outputFile)); mkdirp.sync(targetDir); writeFileSync(this.options.outputFile, trx, { encoding: "utf8" }); process.stdout.write("DONE\n"); process.stdout.write(`TRX file output to '${this.options.outputFile}'\n`); }; } module.exports = TrxReporter;