@qavajs/playwright-runner-adapter 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/adapter/cucumberAdapter.js +20 -38
- package/adapter/cucumberAdapter.js.map +1 -1
- package/package.json +1 -1
- package/src/cucumberAdapter.ts +28 -53
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,12 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how
|
|
|
14
14
|
|
|
15
15
|
:microscope: - experimental
|
|
16
16
|
|
|
17
|
+
## [2.1.0]
|
|
18
|
+
- :rocket: made declaration of beforeAll/afterAll hooks optional to enable pure parallelism
|
|
19
|
+
|
|
20
|
+
## [2.0.1]
|
|
21
|
+
- :beetle: removed stacktrace override to proper location calculation
|
|
22
|
+
|
|
17
23
|
## [2.0.0]
|
|
18
24
|
Breaking Change:
|
|
19
25
|
- :rocket: reworked cucumber-playwright connection mechanism
|
|
@@ -94,31 +94,31 @@ function stepName(pickleStep) {
|
|
|
94
94
|
}
|
|
95
95
|
return step;
|
|
96
96
|
}
|
|
97
|
-
/**
|
|
98
|
-
* Overrides Error.captureStackTrace to set custom location for test registration
|
|
99
|
-
*/
|
|
100
|
-
function setLocation(location) {
|
|
101
|
-
Error.captureStackTrace = function (target) {
|
|
102
|
-
target.stack = location;
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
97
|
/**
|
|
106
98
|
* Executes before all hooks
|
|
107
99
|
*/
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
100
|
+
function executeBeforeAllHooks(test, hooks) {
|
|
101
|
+
if (hooks.length === 0)
|
|
102
|
+
return;
|
|
103
|
+
test.beforeAll(async () => {
|
|
104
|
+
for (const hook of hooks) {
|
|
105
|
+
const location = getLine(hook);
|
|
106
|
+
await test.step(HOOK_NAMES.BEFORE_ALL, () => hook.code.apply({}), location);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
113
109
|
}
|
|
114
110
|
/**
|
|
115
111
|
* Executes after all hooks
|
|
116
112
|
*/
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
113
|
+
function executeAfterAllHooks(test, hooks) {
|
|
114
|
+
if (hooks.length === 0)
|
|
115
|
+
return;
|
|
116
|
+
test.afterAll(async () => {
|
|
117
|
+
for (const hook of hooks) {
|
|
118
|
+
const location = getLine(hook);
|
|
119
|
+
await test.step(HOOK_NAMES.AFTER_ALL, () => hook.code.apply({}), location);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Creates test annotations from test case data
|
|
@@ -139,18 +139,9 @@ function defineConfig(config) {
|
|
|
139
139
|
const { features, supportCodeLibrary } = (0, loader_1.load)(config);
|
|
140
140
|
const fixture = new supportCodeLibrary.World({ config });
|
|
141
141
|
const test = fixture.test;
|
|
142
|
-
test.
|
|
143
|
-
await executeBeforeAllHooks(test, supportCodeLibrary.beforeTestRunHookDefinitions);
|
|
144
|
-
});
|
|
142
|
+
executeBeforeAllHooks(test, supportCodeLibrary.beforeTestRunHookDefinitions);
|
|
145
143
|
const worlds = new Map();
|
|
146
|
-
// Store original captureStackTrace to restore later
|
|
147
|
-
const origCaptureStackTrace = Error.captureStackTrace;
|
|
148
144
|
for (const feature of features) {
|
|
149
|
-
setLocation({
|
|
150
|
-
file: feature.uri,
|
|
151
|
-
line: 1,
|
|
152
|
-
column: 0,
|
|
153
|
-
});
|
|
154
145
|
const tests = feature.tests;
|
|
155
146
|
test.describe(feature.feature, async () => {
|
|
156
147
|
/**
|
|
@@ -189,11 +180,6 @@ function defineConfig(config) {
|
|
|
189
180
|
for (const testCase of tests) {
|
|
190
181
|
const tag = [...new Set(testCase.tags.map((tag) => tag.name))];
|
|
191
182
|
const annotation = createTestAnnotations(testCase);
|
|
192
|
-
setLocation({
|
|
193
|
-
file: testCase.uri,
|
|
194
|
-
line: testCase.location?.line ?? 0,
|
|
195
|
-
column: testCase.location?.column ?? 0,
|
|
196
|
-
});
|
|
197
183
|
test(testCase.name, { tag, annotation }, async () => {
|
|
198
184
|
const world = worlds.get(testCase.id);
|
|
199
185
|
const result = { status: 'passed' };
|
|
@@ -288,10 +274,6 @@ function defineConfig(config) {
|
|
|
288
274
|
});
|
|
289
275
|
});
|
|
290
276
|
}
|
|
291
|
-
|
|
292
|
-
Error.captureStackTrace = origCaptureStackTrace;
|
|
293
|
-
test.afterAll(async () => {
|
|
294
|
-
await executeAfterAllHooks(test, supportCodeLibrary.afterTestRunHookDefinitions);
|
|
295
|
-
});
|
|
277
|
+
executeAfterAllHooks(test, supportCodeLibrary.afterTestRunHookDefinitions);
|
|
296
278
|
}
|
|
297
279
|
//# sourceMappingURL=cucumberAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cucumberAdapter.js","sourceRoot":"","sources":["../src/cucumberAdapter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cucumberAdapter.js","sourceRoot":"","sources":["../src/cucumberAdapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/cucumberAdapter.ts
CHANGED
|
@@ -140,47 +140,44 @@ function stepName(pickleStep: {
|
|
|
140
140
|
return step;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
/**
|
|
144
|
-
* Overrides Error.captureStackTrace to set custom location for test registration
|
|
145
|
-
*/
|
|
146
|
-
function setLocation(location: Location): void {
|
|
147
|
-
Error.captureStackTrace = function (target: Error): void {
|
|
148
|
-
(target as any).stack = location;
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
|
|
152
143
|
/**
|
|
153
144
|
* Executes before all hooks
|
|
154
145
|
*/
|
|
155
|
-
|
|
146
|
+
function executeBeforeAllHooks(
|
|
156
147
|
test: TestType<any, any>,
|
|
157
148
|
hooks: any[]
|
|
158
|
-
):
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
149
|
+
): void {
|
|
150
|
+
if (hooks.length === 0) return;
|
|
151
|
+
test.beforeAll(async () => {
|
|
152
|
+
for (const hook of hooks) {
|
|
153
|
+
const location = getLine(hook);
|
|
154
|
+
await test.step(
|
|
155
|
+
HOOK_NAMES.BEFORE_ALL,
|
|
156
|
+
() => hook.code.apply({}),
|
|
157
|
+
location
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
})
|
|
167
161
|
}
|
|
168
162
|
|
|
169
163
|
/**
|
|
170
164
|
* Executes after all hooks
|
|
171
165
|
*/
|
|
172
|
-
|
|
166
|
+
function executeAfterAllHooks(
|
|
173
167
|
test: TestType<any, any>,
|
|
174
168
|
hooks: any[]
|
|
175
|
-
):
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
169
|
+
): void {
|
|
170
|
+
if (hooks.length === 0) return;
|
|
171
|
+
test.afterAll(async () => {
|
|
172
|
+
for (const hook of hooks) {
|
|
173
|
+
const location = getLine(hook);
|
|
174
|
+
await test.step(
|
|
175
|
+
HOOK_NAMES.AFTER_ALL,
|
|
176
|
+
() => hook.code.apply({}),
|
|
177
|
+
location
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
184
181
|
}
|
|
185
182
|
|
|
186
183
|
/**
|
|
@@ -206,22 +203,11 @@ export function defineConfig(config: any): any {
|
|
|
206
203
|
const fixture = new supportCodeLibrary.World({config});
|
|
207
204
|
const test: TestType<any, any> = fixture.test;
|
|
208
205
|
|
|
209
|
-
test.
|
|
210
|
-
await executeBeforeAllHooks(test, supportCodeLibrary.beforeTestRunHookDefinitions);
|
|
211
|
-
});
|
|
206
|
+
executeBeforeAllHooks(test, supportCodeLibrary.beforeTestRunHookDefinitions);
|
|
212
207
|
|
|
213
208
|
const worlds = new Map<string, any>();
|
|
214
209
|
|
|
215
|
-
// Store original captureStackTrace to restore later
|
|
216
|
-
const origCaptureStackTrace = Error.captureStackTrace;
|
|
217
|
-
|
|
218
210
|
for (const feature of features) {
|
|
219
|
-
setLocation({
|
|
220
|
-
file: feature.uri,
|
|
221
|
-
line: 1,
|
|
222
|
-
column: 0,
|
|
223
|
-
});
|
|
224
|
-
|
|
225
211
|
const tests = feature.tests;
|
|
226
212
|
|
|
227
213
|
test.describe(feature.feature as string, async () => {
|
|
@@ -272,12 +258,6 @@ export function defineConfig(config: any): any {
|
|
|
272
258
|
const tag = [...new Set(testCase.tags.map((tag: { name: string }) => tag.name))];
|
|
273
259
|
const annotation = createTestAnnotations(testCase);
|
|
274
260
|
|
|
275
|
-
setLocation({
|
|
276
|
-
file: testCase.uri,
|
|
277
|
-
line: testCase.location?.line ?? 0,
|
|
278
|
-
column: testCase.location?.column ?? 0,
|
|
279
|
-
});
|
|
280
|
-
|
|
281
261
|
test(testCase.name, {tag, annotation}, async () => {
|
|
282
262
|
const world = worlds.get(testCase.id);
|
|
283
263
|
const result: TestResult = { status: 'passed' };
|
|
@@ -398,10 +378,5 @@ export function defineConfig(config: any): any {
|
|
|
398
378
|
});
|
|
399
379
|
}
|
|
400
380
|
|
|
401
|
-
|
|
402
|
-
Error.captureStackTrace = origCaptureStackTrace;
|
|
403
|
-
|
|
404
|
-
test.afterAll(async () => {
|
|
405
|
-
await executeAfterAllHooks(test, supportCodeLibrary.afterTestRunHookDefinitions);
|
|
406
|
-
});
|
|
381
|
+
executeAfterAllHooks(test, supportCodeLibrary.afterTestRunHookDefinitions);
|
|
407
382
|
}
|