MCPcopy
hub / github.com/jestjs/jest / runTest

Function runTest

packages/jest-circus/src/__mocks__/testUtils.ts:22–76  ·  view source on GitHub ↗
(
  source: string,
  opts?: {seed?: number; randomize?: boolean},
)

Source from the content-addressed store, hash-verified

20 .replaceAll('\\', '\\\\');
21
22export const runTest = (
23 source: string,
24 opts?: {seed?: number; randomize?: boolean},
25) => {
26 const tmpFilename = tempy.file();
27
28 const content = `
29 require('${BABEL_REGISTER_PATH}')({extensions: [".js", ".ts"]});
30 const circus = require('${CIRCUS_PATH}');
31 global.test = circus.test;
32 global.describe = circus.describe;
33 global.beforeEach = circus.beforeEach;
34 global.afterEach = circus.afterEach;
35 global.beforeAll = circus.beforeAll;
36 global.afterAll = circus.afterAll;
37
38 const testEventHandler = require('${TEST_EVENT_HANDLER_PATH}').default;
39 const {addEventHandler, removeEventHandler, getState} = require('${CIRCUS_STATE_PATH}');
40 getState().randomize = ${opts?.randomize};
41 getState().seed = ${opts?.seed ?? 0};
42 addEventHandler(testEventHandler);
43
44 ${source};
45
46 const run = require('${CIRCUS_RUN_PATH}').default;
47
48 run();
49 `;
50
51 fs.writeFileSync(tmpFilename, content);
52 const result = spawnSync('node', [tmpFilename], {
53 cwd: process.cwd(),
54 });
55
56 if (result.exitCode !== 0) {
57 const message = `
58 STDOUT: ${result.stdout && result.stdout.toString()}
59 STDERR: ${result.stderr && result.stderr.toString()}
60 STATUS: ${result.exitCode}
61 `;
62 throw new Error(message);
63 }
64
65 fs.rmSync(tmpFilename, {force: true});
66
67 if (result.stderr) {
68 throw new Error(
69 `
70 Unexpected stderr:
71 ${result.stderr}
72 `,
73 );
74 }
75 return result;
76};

Callers 6

concurrent.test.tsFile · 0.90
afterAll.test.tsFile · 0.90
hooks.test.tsFile · 0.90
baseTest.test.tsFile · 0.90
utils.test.tsFile · 0.90

Calls 1

toStringMethod · 0.45

Tested by

no test coverage detected