-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
/
testRunner.test.ts
85 lines (75 loc) · 2 KB
/
testRunner.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import {TestWatcher} from '@jest/core';
import TestRunner from '../index';
let mockWorkerFarm;
jest.mock('jest-worker', () =>
jest.fn(
worker =>
(mockWorkerFarm = {
end: jest.fn().mockResolvedValue({forceExited: false}),
getStderr: jest.fn(),
getStdout: jest.fn(),
worker: jest.fn((data, callback) => require(worker)(data, callback)),
}),
),
);
jest.mock('../testWorker', () => {});
test('injects the serializable module map into each worker in watch mode', async () => {
const globalConfig = {maxWorkers: 2, watch: true};
const config = {rootDir: '/path/'};
const serializableModuleMap = jest.fn();
const runContext = {};
const context = {
config,
moduleMap: {toJSON: () => serializableModuleMap},
};
await new TestRunner(globalConfig).runTests(
[
{context, path: './file.test.js'},
{context, path: './file2.test.js'},
],
new TestWatcher({isWatchMode: globalConfig.watch}),
() => {},
() => {},
() => {},
{serial: false},
);
expect(mockWorkerFarm.worker.mock.calls).toEqual([
[
{
config,
context: runContext,
globalConfig,
path: './file.test.js',
},
],
[
{
config,
context: runContext,
globalConfig,
path: './file2.test.js',
},
],
]);
});
test('assign process.env.JEST_WORKER_ID = 1 when in runInBand mode', async () => {
const globalConfig = {maxWorkers: 1, watch: false};
const config = {rootDir: '/path/'};
const context = {config};
await new TestRunner(globalConfig).runTests(
[{context, path: './file.test.js'}],
new TestWatcher({isWatchMode: globalConfig.watch}),
() => {},
() => {},
() => {},
{serial: true},
);
expect(process.env.JEST_WORKER_ID).toBe('1');
});