@stryker-mutator/karma-runner
Version:
A plugin to use the karma test runner in Stryker, the JavaScript mutation testing framework
59 lines • 2.17 kB
TypeScript
import { DryRunResult } from '@stryker-mutator/api/test-runner';
import { MutantCoverage } from '@stryker-mutator/api/core';
import type karma from 'karma';
export interface KarmaSpec {
description: string;
id: string;
skipped: boolean;
success: boolean;
time: number;
suite: string[];
log: string[];
}
export interface Browser {
id: string;
state: string;
}
export declare function strykerReporterFactory(karmaServer: karma.Server, config: karma.Config): StrykerReporter;
export declare namespace strykerReporterFactory {
var $inject: string[];
}
/**
* This is a singleton implementation of a KarmaReporter.
* It is loaded by karma and functions as a bridge between the karma world and the stryker world
*
* It uses properties as functions because karma is not able to find actual methods.
*
* i.e. use `public readonly onFoo = () => {}` instead of `onFoo() { }`.
*/
export declare class StrykerReporter implements karma.Reporter {
adapters: any[];
karmaServer: karma.Server | undefined;
karmaConfig: karma.Config | undefined;
runResultHandler: ((result: DryRunResult) => void) | undefined;
private testResults;
private errorMessage;
private mutantCoverage;
private hitCount;
private hitLimit;
private initTask;
private runTask;
private karmaRunResult;
private browserIsRestarting;
private static readonly _instance;
static get instance(): StrykerReporter;
readonly onBrowsersReady: () => void;
configureHitLimit(hitLimit: number | undefined): void;
whenBrowsersReady(): Promise<void>;
whenRunCompletes(): Promise<DryRunResult>;
readonly onSpecComplete: (_browser: unknown, spec: KarmaSpec) => void;
readonly onRunStart: () => void;
readonly onRunComplete: (_browsers: unknown, runResult: karma.TestResults) => void;
readonly onBrowserComplete: (_browser: unknown, result: {
mutantCoverage: MutantCoverage | undefined;
hitCount: number | undefined;
}) => void;
readonly onBrowserError: (browser: Browser, error: any) => void;
private collectRunResult;
}
//# sourceMappingURL=stryker-reporter.d.ts.map