有什么方法可以使用 jest-puppeteer 重试易碎测试?
Any way to make a retries for flaky tests using jest-puppeteer?
我遇到了一个问题,即 Jest 中没有重试易碎测试的内置方法。我正在使用 Jest + TS + Puppeteer。任何人都有同样的问题或可能 solutions\suggestions?
我试图实现这个:link,但没有成功。
jest-retries 对我不起作用,因为我创建了用户并做了很多操作,如果测试失败 - 使用相同的 cookie 等在同一个 chromium 选项卡中重试重新启动测试。提前致谢!
代码示例:
const it = require('jest-retries');
describe('any tests', () => {
beforeEach(async () => {
await page.emulate(devices['Galaxy S5']);
await page.goto(newSearchUrl, { waitUntil: 'networkidle2' });
});
it('dummy test', 2, async () => {
await userSignup(); // custom wrapper for signup
await checkGraphqlSuccess('success dumb event');
const iconHeader = await waitForElementVisible(favoriteBtnHeader);
await iconHeader.click();
const number = await waitForElementVisible(number1);
const getNumber1 = await page.evaluate(obj => {
return obj.getAttribute('data-id');
}, number);
expect(azaza1).toEqual(getNumber1);
});
afterAll(async () => {
dumpEvents(fileName);
});
});
你试过安装 jest-circus 吗?
有了这个测试运行程序,您接下来可以做:
//my_perfect_test.js
jest.retryTimes(3) //set maximum retries number
describe('Test', () => {
test('Test_Test', async () => {
//test code
...
})
})
尽量减少测试的不稳定性。
自 Jest v27, jest-circus is now the default test runner. So the 起无需额外配置即可使用。
我遇到了一个问题,即 Jest 中没有重试易碎测试的内置方法。我正在使用 Jest + TS + Puppeteer。任何人都有同样的问题或可能 solutions\suggestions? 我试图实现这个:link,但没有成功。
jest-retries 对我不起作用,因为我创建了用户并做了很多操作,如果测试失败 - 使用相同的 cookie 等在同一个 chromium 选项卡中重试重新启动测试。提前致谢!
代码示例:
const it = require('jest-retries');
describe('any tests', () => {
beforeEach(async () => {
await page.emulate(devices['Galaxy S5']);
await page.goto(newSearchUrl, { waitUntil: 'networkidle2' });
});
it('dummy test', 2, async () => {
await userSignup(); // custom wrapper for signup
await checkGraphqlSuccess('success dumb event');
const iconHeader = await waitForElementVisible(favoriteBtnHeader);
await iconHeader.click();
const number = await waitForElementVisible(number1);
const getNumber1 = await page.evaluate(obj => {
return obj.getAttribute('data-id');
}, number);
expect(azaza1).toEqual(getNumber1);
});
afterAll(async () => {
dumpEvents(fileName);
});
});
你试过安装 jest-circus 吗?
有了这个测试运行程序,您接下来可以做:
//my_perfect_test.js
jest.retryTimes(3) //set maximum retries number
describe('Test', () => {
test('Test_Test', async () => {
//test code
...
})
})
尽量减少测试的不稳定性。
自 Jest v27, jest-circus is now the default test runner. So the