Как расширить тест от приспособлений для шуток для запуска теста драматурга?
Я хочу написать несколько тестов с помощью шутки и использовать дополнительные возможности с помощью тестовых приспособлений.
// тесты/sample.test.ts
jest.setTimeout(60 * 1000);
import { test } from './jest-fixture';
import { chromium } from 'playwright';
describe("Sample test", () => {
test(`sample test on chromium`, async ({ connect }) => {
const browser = await connect('chromium');
const page = await browser.newPage();
const page.close();
});
});
// шутка-fixture.ts
import * as playwright from 'playwright';
import { Browser } from 'playwright';
import {test as base} from '@jest/globals';
export type SampleFixture = {
wsEndpoint: string;
}
export type Options = {
connect: (browserName: string) => Promise<Browser>;
};
export const test = base.extend<SampleFixtures & Options>({
wsEndpoint: async (use) => {
const wsEndpoint = getEndpoint();
await use(wsEndpoint);
},
connect: async ({ wsEndpoint }, use) => {
const browsers: Browser[] = [];
await use(async (browserName: string) => {
const browser = await playwright[browserName as 'chromium'].connect(wsEndpoint);
browsers.push(browser);
return browser;
});
for (const browser of browsers)
await browser.close();
}
});
Я попытался создать вышеуказанный файл приспособления и расширил тест из шутки, но получаю сообщение об ошибке: свойство «расширить» не существует для типа «ItConcurrent». Есть ли другой способ расширить тест из шутки или я делаю что-то не так?
Здесь есть способ расширить ожидания от глобальных шуток, но как расширить «тест»?