我有一个使用Jest运行的测试套件。我想在任何失败的测试后触发一个钩子,最好在测试上下文仍然可用的情况下。
具体地说,我正在通过jest-puppeteer使用Puppeteer。目的是在测试失败后,在tearDown函数中关闭页面之前为页面截图。
实现此目标的最佳方法是什么?
我的测试套件的示例:
describe('My tests', () => {
beforeAll(async () => {
await page.goto('http://example.com');
});
// TODO I need something like this
onFailure(async (something) => {
page.takeScrenshot();
});
test('My example test', async () => {
return await page.waitFor('.example-selector');
});
});
我发现在设置测试运行器时有onTestFailure option,可以利用它吗?