# Testing signals — stryker-mutator/stryker-js

> Canonical page: https://codevetter.com/unpack/stryker-js/testing-signals

# Testing signals — stryker-mutator/stryker-js

Scanned commit f2a49ff02437e3b7fe2682dba808ac93039895bf (2026-09-11). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Tests and CI were inspected, not executed; no passing result or coverage percentage is asserted. Core uses compiled Mocha tests with Chai, Sinon, promise assertions, and snapshots. The inspected suites exercise orchestration branches, incremental reuse, HTML serialization, and real server transports, while e2e fixtures cover several frontend/framework configurations. This inventory is bounded and does not establish exhaustive coverage or the absence of additional tests.
- Core test runs c8 over unit and integration scripts; Mocha targets dist/test, uses a 60-second integration timeout, loads compiled setup, and forbids focused tests when CI is set. — [packages/core/package.json#L16-L22](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/package.json#L16-L22) [packages/core/.mocharc.cjs#L1-L5](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/.mocharc.cjs#L1-L5)
- Core setup installs Sinon-Chai, Chai-as-promised, and Chai-Jest snapshots; after each test it disposes/reset injectors, restores Sinon, and restores cwd. — [packages/core/test/setup.ts#L3-L35](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/test/setup.ts#L3-L35)
- MutationTestExecutor unit tests explicitly assert that ignored mutants skip checkers/runners and empty test filters produce NoCoverage without mutantRun. — [packages/core/test/unit/process/4-mutation-test-executor.spec.ts#L183-L245](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/test/unit/process/4-mutation-test-executor.spec.ts#L183-L245)
- IncrementalDiffer tests distinguish reuse after test removal/addition and invalidate Killed results when the killing test disappears; an unchanged killer also supports static-mutant reuse. — [packages/core/test/unit/mutants/incremental-differ.spec.ts#L937-L976](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/test/unit/mutants/incremental-differ.spec.ts#L937-L976)
- HTML reporter tests check serialized report output, splitting of script tags in embedded source, and wrapUp rejection when writing fails; these inspected assertions use a write stub rather than proving browser execution safety. — [packages/core/test/unit/reporters/html-reporter.spec.ts#L31-L90](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/test/unit/reporters/html-reporter.spec.ts#L31-L90)
- Server integration tests spawn the CLI over socket and stdio and share configure/discover/mutation assertions; they also exercise parallel mutation requests and temporary-directory cleanup. — [packages/core/test/integration/stryker-server.it.spec.ts#L31-L92](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/test/integration/stryker-server.it.spec.ts#L31-L92) [packages/core/test/integration/stryker-server.it.spec.ts#L95-L152](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/core/test/integration/stryker-server.it.spec.ts#L95-L152)
- The e2e harness filters fixture names, supports concurrency/resume, skips incompatible Node/platform fixtures, and retries per fixture; inspected Vite fixtures include Vue, Svelte/jsdom, and React browser-mode Chromium. — [e2e/tasks/run-e2e-tests.js#L26-L51](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/e2e/tasks/run-e2e-tests.js#L26-L51) [e2e/tasks/run-e2e-tests.js#L168-L189](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/e2e/tasks/run-e2e-tests.js#L168-L189) [e2e/test/svelte-js-vitest/vite.config.js#L1-L11](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/e2e/test/svelte-js-vitest/vite.config.js#L1-L11) [packages/vitest-runner/testResources/vi-mock/vite.config.ts#L8-L20](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/packages/vitest-runner/testResources/vi-mock/vite.config.ts#L8-L20)
- CI config schedules build/lint/test on Node 22/24 across Ubuntu/Windows and separate e2e jobs; mutation CI names selected package scopes, while performance runs are manually triggered and upload report artifacts. — [.github/workflows/ci.yml#L11-L27](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/.github/workflows/ci.yml#L11-L27) [.github/workflows/ci.yml#L45-L75](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/.github/workflows/ci.yml#L45-L75) [.github/workflows/mutation-testing.yml#L17-L42](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/.github/workflows/mutation-testing.yml#L17-L42) [.github/workflows/performance.yml#L3-L30](https://github.com/stryker-mutator/stryker-js/blob/f2a49ff02437e3b7fe2682dba808ac93039895bf/.github/workflows/performance.yml#L3-L30)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
