Jest - Storyshot - getCustomBrowser - как управлять?
Возникла проблема, когда я хочу использовать настраиваемый браузер для storyshot с шуткой, но мне сложно найти какой-либо пример или документы об управлении жизненным циклом браузера - это просто упомянуто наугад. Мой initStoryshots выглядит так
initStoryshots({
suite: 'Image storyshots',
storyKindRegex: /^((?!.*?skipImageSnapshot).)*$/,
test: imageSnapshot({
storybookUrl,
getMatchOptions,
getCustomBrowser: async () => {
let browser = await puppeteer.launch({
args: [
'--no-sandbox ',
'--headless',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-lcd-text',
],
});
return browser
}
}),
});
Поэтому я не понимаю, где я могу добавить afterAll или какой-либо другой способ получить браузер и .close()
Это?
Надеюсь найти здесь руководство. Пожалуйста, дайте мне знать, какие подробности я могу добавить.
1 ответ
Хорошо, решил. Оставить запись для следующего человека:
Решением было захватить testFn, возвращенный imageSnapshot
и переопределить afterAll
на что.
let browser;
let afterAll = () => {
if (browser) {
browser.close();
}
};
let testFn = imageSnapshot({
storybookUrl,
getMatchOptions,
getCustomBrowser: async () => {
browser = await puppeteer.launch({
args: [
'--no-sandbox ',
'--headless',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-lcd-text',
],
});
return browser;
},
});
testFn.afterAll = afterAll;
initStoryshots({
suite: 'Image storyshots',
storyKindRegex: /^((?!.*?skipImageSnapshot).)*$/,
test: testFn,
});