我遇到了一个问题,在 Jest 中没有内置的方法来重试脆弱的测试。我正在使用 Jest + TS + Puppeteer。任何人都有同样的问题或可能的解决方案\建议?
我试图实现这个:link ,但没有成功。
jest-retries 对我不起作用,因为我创建了用户并做了很多操作,如果测试失败 - 重试在相同的 chrome 选项卡中使用相同的 cookie 等重新启动测试。提前致谢!
代码示例:
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
...
})
})
以尽量减少测试的片状。
关于typescript - 有什么方法可以使用 jest-puppeteer 对片状测试进行重试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59413521/