剧作家测试中的根级 Hooks

Root level Hooks in playwright test

参考 playwright 提供的文档,似乎钩子(例如:afterAll / beforeAll)只能在 spec/test 文件中使用,如下所示:

// example.spec.ts
import { test, expect } from '@playwright/test';

test.beforeAll(async () => {
  console.log('Before tests');
});

test.afterAll(async () => {
  console.log('After tests');
});

test('my test', async ({ page }) => {
  // ...
});

我的问题:是否支持在一个文件中只能有一个 AfterAll() 或 beforeAll() 挂钩,每个测试文件都将被调用?我想在 afterAll 和 beforeAll 中包含的代码片段对于所有测试/规范文件都是通用的,我不想在所有规范文件/测试文件中重复相同的代码。 对此有什么建议或想法吗?

TIA 艾伦

这是我发现后的更新:Playwright 不支持根级挂钩。 目前这是不可能的,因为并行测试将 运行 在不同的工作人员中进行,并且一旦测试完成,他们每个人都会 运行 afterAll hook。上述问题的首选解决方案是使用 global-setup 和 global-teardown.