UNPKG

@stryker-mutator/mocha-runner

Version:

A plugin to use the mocha test runner in Stryker, the JavaScript mutation testing framework

27 lines (23 loc) 1.13 kB
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; }