@stryker-mutator/mocha-runner
Version:
A plugin to use the mocha test runner in Stryker, the JavaScript mutation testing framework
36 lines (32 loc) • 1.16 kB
text/typescript
import { INSTRUMENTER_CONSTANTS } from '@stryker-mutator/api/core';
import {
commonTokens,
Injector,
PluginContext,
tokens,
} from '@stryker-mutator/api/plugin';
import { MochaAdapter } from './mocha-adapter.js';
import { MochaOptionsLoader } from './mocha-options-loader.js';
import { MochaTestRunner } from './mocha-test-runner.js';
import * as pluginTokens from './plugin-tokens.js';
export const createMochaTestRunner = createMochaTestRunnerFactory();
export function createMochaTestRunnerFactory(
namespace:
| typeof INSTRUMENTER_CONSTANTS.NAMESPACE
| '__stryker2__' = INSTRUMENTER_CONSTANTS.NAMESPACE,
): {
(injector: Injector<PluginContext>): MochaTestRunner;
inject: ['$injector'];
} {
mochaTestRunnerFactory.inject = tokens(commonTokens.injector);
function mochaTestRunnerFactory(
injector: Injector<PluginContext>,
): MochaTestRunner {
return injector
.provideClass(pluginTokens.loader, MochaOptionsLoader)
.provideClass(pluginTokens.mochaAdapter, MochaAdapter)
.provideValue(pluginTokens.globalNamespace, namespace)
.injectClass(MochaTestRunner);
}
return mochaTestRunnerFactory;
}