UNPKG

5.95 kBTypeScriptView Raw
1/**
2 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7import type {Config} from '@jest/types';
8import type {ConsoleBuffer} from '@jest/console';
9import type {CoverageMap} from 'istanbul-lib-coverage';
10import type {CoverageMapData} from 'istanbul-lib-coverage';
11import type {IHasteFS} from 'jest-haste-map';
12import type {IModuleMap} from 'jest-haste-map';
13import type Resolver from 'jest-resolve';
14import type {TestResult as TestResult_2} from '@jest/types';
15import type {TransformTypes} from '@jest/types';
16import type {V8Coverage} from 'collect-v8-coverage';
17
18export declare const addResult: (
19 aggregatedResults: AggregatedResult,
20 testResult: TestResult,
21) => void;
22
23export declare type AggregatedResult = AggregatedResultWithoutCoverage & {
24 coverageMap?: CoverageMap | null;
25};
26
27declare type AggregatedResultWithoutCoverage = {
28 numFailedTests: number;
29 numFailedTestSuites: number;
30 numPassedTests: number;
31 numPassedTestSuites: number;
32 numPendingTests: number;
33 numTodoTests: number;
34 numPendingTestSuites: number;
35 numRuntimeErrorTestSuites: number;
36 numTotalTests: number;
37 numTotalTestSuites: number;
38 openHandles: Array<Error>;
39 snapshot: SnapshotSummary;
40 startTime: number;
41 success: boolean;
42 testResults: Array<TestResult>;
43 wasInterrupted: boolean;
44 runExecError?: SerializableError;
45};
46
47export declare type AssertionLocation = {
48 fullName: string;
49 path: string;
50};
51
52export declare type AssertionResult = TestResult_2.AssertionResult;
53
54export declare const buildFailureTestResult: (
55 testPath: string,
56 err: SerializableError,
57) => TestResult;
58
59declare type CodeCoverageFormatter = (
60 coverage: CoverageMapData | null | undefined,
61 reporter: CodeCoverageReporter,
62) => Record<string, unknown> | null | undefined;
63
64declare type CodeCoverageReporter = unknown;
65
66export declare const createEmptyTestResult: () => TestResult;
67
68export declare type FailedAssertion = {
69 matcherName?: string;
70 message?: string;
71 actual?: unknown;
72 pass?: boolean;
73 passed?: boolean;
74 expected?: unknown;
75 isNot?: boolean;
76 stack?: string;
77 error?: unknown;
78};
79
80declare type FormattedAssertionResult = Pick<
81 AssertionResult,
82 'ancestorTitles' | 'fullName' | 'location' | 'status' | 'title' | 'duration'
83> & {
84 failureMessages: AssertionResult['failureMessages'] | null;
85};
86
87declare type FormattedTestResult = {
88 message: string;
89 name: string;
90 summary: string;
91 status: 'failed' | 'passed';
92 startTime: number;
93 endTime: number;
94 coverage: unknown;
95 assertionResults: Array<FormattedAssertionResult>;
96};
97
98export declare type FormattedTestResults = {
99 coverageMap?: CoverageMap | null | undefined;
100 numFailedTests: number;
101 numFailedTestSuites: number;
102 numPassedTests: number;
103 numPassedTestSuites: number;
104 numPendingTests: number;
105 numPendingTestSuites: number;
106 numRuntimeErrorTestSuites: number;
107 numTotalTests: number;
108 numTotalTestSuites: number;
109 snapshot: SnapshotSummary;
110 startTime: number;
111 success: boolean;
112 testResults: Array<FormattedTestResult>;
113 wasInterrupted: boolean;
114};
115
116export declare function formatTestResults(
117 results: AggregatedResult,
118 codeCoverageFormatter?: CodeCoverageFormatter,
119 reporter?: CodeCoverageReporter,
120): FormattedTestResults;
121
122export declare const makeEmptyAggregatedTestResult: () => AggregatedResult;
123
124export declare interface RuntimeTransformResult
125 extends TransformTypes.TransformResult {
126 wrapperLength: number;
127}
128
129export declare type SerializableError = TestResult_2.SerializableError;
130
131export declare type SnapshotSummary = {
132 added: number;
133 didUpdate: boolean;
134 failure: boolean;
135 filesAdded: number;
136 filesRemoved: number;
137 filesRemovedList: Array<string>;
138 filesUnmatched: number;
139 filesUpdated: number;
140 matched: number;
141 total: number;
142 unchecked: number;
143 uncheckedKeysByFile: Array<UncheckedSnapshot>;
144 unmatched: number;
145 updated: number;
146};
147
148export declare type Status = AssertionResult['status'];
149
150export declare type Suite = {
151 title: string;
152 suites: Array<Suite>;
153 tests: Array<AssertionResult>;
154};
155
156export declare type Test = {
157 context: TestContext;
158 duration?: number;
159 path: string;
160};
161
162export declare type TestCaseResult = AssertionResult;
163
164export declare type TestContext = {
165 config: Config.ProjectConfig;
166 hasteFS: IHasteFS;
167 moduleMap: IModuleMap;
168 resolver: Resolver;
169};
170
171export declare type TestEvents = {
172 'test-file-start': [Test];
173 'test-file-success': [Test, TestResult];
174 'test-file-failure': [Test, SerializableError];
175 'test-case-result': [string, AssertionResult];
176};
177
178export declare type TestFileEvent<
179 T extends keyof TestEvents = keyof TestEvents,
180> = (eventName: T, args: TestEvents[T]) => unknown;
181
182export declare type TestResult = {
183 console?: ConsoleBuffer;
184 coverage?: CoverageMapData;
185 displayName?: Config.DisplayName;
186 failureMessage?: string | null;
187 leaks: boolean;
188 memoryUsage?: number;
189 numFailingTests: number;
190 numPassingTests: number;
191 numPendingTests: number;
192 numTodoTests: number;
193 openHandles: Array<Error>;
194 perfStats: {
195 end: number;
196 runtime: number;
197 slow: boolean;
198 start: number;
199 };
200 skipped: boolean;
201 snapshot: {
202 added: number;
203 fileDeleted: boolean;
204 matched: number;
205 unchecked: number;
206 uncheckedKeys: Array<string>;
207 unmatched: number;
208 updated: number;
209 };
210 testExecError?: SerializableError;
211 testFilePath: string;
212 testResults: Array<AssertionResult>;
213 v8Coverage?: V8CoverageResult;
214};
215
216export declare type TestResultsProcessor = (
217 results: AggregatedResult,
218) => AggregatedResult;
219
220declare type UncheckedSnapshot = {
221 filePath: string;
222 keys: Array<string>;
223};
224
225export declare type V8CoverageResult = Array<{
226 codeTransformResult: RuntimeTransformResult | undefined;
227 result: V8Coverage[number];
228}>;
229
230export {};