UNPKG

5.55 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 { V8Coverage } from 'collect-v8-coverage';
8import type { CoverageMap, CoverageMapData } from 'istanbul-lib-coverage';
9import type { ConsoleBuffer } from '@jest/console';
10import type { Config, TestResult, TransformTypes } from '@jest/types';
11import type { FS as HasteFS, ModuleMap } from 'jest-haste-map';
12import type Resolver from 'jest-resolve';
13export interface RuntimeTransformResult extends TransformTypes.TransformResult {
14 wrapperLength: number;
15}
16export declare type V8CoverageResult = Array<{
17 codeTransformResult: RuntimeTransformResult | undefined;
18 result: V8Coverage[number];
19}>;
20export declare type SerializableError = TestResult.SerializableError;
21export declare type FailedAssertion = {
22 matcherName?: string;
23 message?: string;
24 actual?: unknown;
25 pass?: boolean;
26 passed?: boolean;
27 expected?: unknown;
28 isNot?: boolean;
29 stack?: string;
30 error?: unknown;
31};
32export declare type AssertionLocation = {
33 fullName: string;
34 path: string;
35};
36export declare type Status = AssertionResult['status'];
37export declare type Bytes = number;
38export declare type Milliseconds = TestResult.Milliseconds;
39export declare type AssertionResult = TestResult.AssertionResult;
40export declare type FormattedAssertionResult = Pick<AssertionResult, 'ancestorTitles' | 'fullName' | 'location' | 'status' | 'title'> & {
41 failureMessages: AssertionResult['failureMessages'] | null;
42};
43export declare type AggregatedResultWithoutCoverage = {
44 numFailedTests: number;
45 numFailedTestSuites: number;
46 numPassedTests: number;
47 numPassedTestSuites: number;
48 numPendingTests: number;
49 numTodoTests: number;
50 numPendingTestSuites: number;
51 numRuntimeErrorTestSuites: number;
52 numTotalTests: number;
53 numTotalTestSuites: number;
54 openHandles: Array<Error>;
55 snapshot: SnapshotSummary;
56 startTime: number;
57 success: boolean;
58 testResults: Array<TestResult>;
59 wasInterrupted: boolean;
60};
61export declare type AggregatedResult = AggregatedResultWithoutCoverage & {
62 coverageMap?: CoverageMap | null;
63};
64export declare type TestResultsProcessor = (results: AggregatedResult) => AggregatedResult;
65export declare type Suite = {
66 title: string;
67 suites: Array<Suite>;
68 tests: Array<AssertionResult>;
69};
70export declare type TestCaseResult = AssertionResult;
71export declare type TestResult = {
72 console?: ConsoleBuffer;
73 coverage?: CoverageMapData;
74 displayName?: Config.DisplayName;
75 failureMessage?: string | null;
76 leaks: boolean;
77 memoryUsage?: Bytes;
78 numFailingTests: number;
79 numPassingTests: number;
80 numPendingTests: number;
81 numTodoTests: number;
82 openHandles: Array<Error>;
83 perfStats: {
84 end: Milliseconds;
85 runtime: Milliseconds;
86 slow: boolean;
87 start: Milliseconds;
88 };
89 skipped: boolean;
90 snapshot: {
91 added: number;
92 fileDeleted: boolean;
93 matched: number;
94 unchecked: number;
95 uncheckedKeys: Array<string>;
96 unmatched: number;
97 updated: number;
98 };
99 testExecError?: SerializableError;
100 testFilePath: Config.Path;
101 testResults: Array<AssertionResult>;
102 v8Coverage?: V8CoverageResult;
103};
104export declare type FormattedTestResult = {
105 message: string;
106 name: string;
107 summary: string;
108 status: 'failed' | 'passed';
109 startTime: number;
110 endTime: number;
111 coverage: unknown;
112 assertionResults: Array<FormattedAssertionResult>;
113};
114export declare type FormattedTestResults = {
115 coverageMap?: CoverageMap | null | undefined;
116 numFailedTests: number;
117 numFailedTestSuites: number;
118 numPassedTests: number;
119 numPassedTestSuites: number;
120 numPendingTests: number;
121 numPendingTestSuites: number;
122 numRuntimeErrorTestSuites: number;
123 numTotalTests: number;
124 numTotalTestSuites: number;
125 snapshot: SnapshotSummary;
126 startTime: number;
127 success: boolean;
128 testResults: Array<FormattedTestResult>;
129 wasInterrupted: boolean;
130};
131export declare type CodeCoverageReporter = unknown;
132export declare type CodeCoverageFormatter = (coverage: CoverageMapData | null | undefined, reporter: CodeCoverageReporter) => Record<string, unknown> | null | undefined;
133export declare type UncheckedSnapshot = {
134 filePath: string;
135 keys: Array<string>;
136};
137export declare type SnapshotSummary = {
138 added: number;
139 didUpdate: boolean;
140 failure: boolean;
141 filesAdded: number;
142 filesRemoved: number;
143 filesRemovedList: Array<string>;
144 filesUnmatched: number;
145 filesUpdated: number;
146 matched: number;
147 total: number;
148 unchecked: number;
149 uncheckedKeysByFile: Array<UncheckedSnapshot>;
150 unmatched: number;
151 updated: number;
152};
153export declare type Test = {
154 context: Context;
155 duration?: number;
156 path: Config.Path;
157};
158declare type Context = {
159 config: Config.ProjectConfig;
160 hasteFS: HasteFS;
161 moduleMap: ModuleMap;
162 resolver: Resolver;
163};
164export declare type TestEvents = {
165 'test-file-start': [Test];
166 'test-file-success': [Test, TestResult];
167 'test-file-failure': [Test, SerializableError];
168 'test-case-result': [Config.Path, AssertionResult];
169};
170export declare type TestFileEvent<T extends keyof TestEvents = keyof TestEvents> = (eventName: T, args: TestEvents[T]) => unknown;
171export {};