mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
fix(playwright-test): prohibit async functions passed to describe (#14538)
References #14533
This commit is contained in:
parent
321db57e96
commit
bd0fe50a0e
@ -129,7 +129,9 @@ export class TestTypeImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
setCurrentlyLoadingFileSuite(child);
|
setCurrentlyLoadingFileSuite(child);
|
||||||
fn();
|
const result = fn();
|
||||||
|
if (result instanceof Promise)
|
||||||
|
throw errorWithLocation(location, 'describe cannot use async functions as callbacks');
|
||||||
setCurrentlyLoadingFileSuite(suite);
|
setCurrentlyLoadingFileSuite(suite);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,6 +48,17 @@ test('it should enforce unique test names based on the describe block name', asy
|
|||||||
expect(result.output).toContain(` - tests${path.sep}example.spec.js:8`);
|
expect(result.output).toContain(` - tests${path.sep}example.spec.js:8`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('it should prohibit async functions in test.describe', async ({ runInlineTest }) => {
|
||||||
|
const result = await runInlineTest({
|
||||||
|
'tests/example.spec.js': `
|
||||||
|
const { test } = pwt;
|
||||||
|
test.describe('hello', async () => { test('my world', () => {}) });
|
||||||
|
`
|
||||||
|
});
|
||||||
|
expect(result.exitCode).toBe(1);
|
||||||
|
expect(result.output).toContain('describe cannot use async functions as callbacks');
|
||||||
|
});
|
||||||
|
|
||||||
test('it should not allow multiple tests with the same name in multiple files', async ({ runInlineTest }) => {
|
test('it should not allow multiple tests with the same name in multiple files', async ({ runInlineTest }) => {
|
||||||
const result = await runInlineTest({
|
const result = await runInlineTest({
|
||||||
'tests/example1.spec.js': `
|
'tests/example1.spec.js': `
|
||||||
|
Loading…
x
Reference in New Issue
Block a user