Jestjs 如何在多个文件中运行Jest Puppeter测试
我正在使用jest Puppeter运行我的网络测试。如果我在一个文件中运行所有定义的测试,那么一切都可以完美运行Jestjs 如何在多个文件中运行Jest Puppeter测试,jestjs,puppeteer,e2e-testing,web-testing,webtest,Jestjs,Puppeteer,E2e Testing,Web Testing,Webtest,我正在使用jest Puppeter运行我的网络测试。如果我在一个文件中运行所有定义的测试,那么一切都可以完美运行 describe('user', () => { jest.setTimeout(12000); beforeEach(async () => { await page.setViewport({width: 1200, height: 2000}); await page.goTo('http://localhost
describe('user', () => {
jest.setTimeout(12000);
beforeEach(async () => {
await page.setViewport({width: 1200, height: 2000});
await page.goTo('http://localhost:3000');
});
it('test 1', async () => {
//my test steps
});
it('test 2', async () => {
//my test steps
});
});
但是,如果我在它自己的文件中运行每个测试,我会得到一个错误
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'addExpectationResult' of undefined
文件1
describe('user', () => {
jest.setTimeout(12000);
beforeEach(async () => {
await page.setViewport({width: 1200, height: 2000});
await page.goTo('http://localhost:3000');
});
it('test 1', async () => {
//my test steps
});
});
文件2
describe('user', () => {
jest.setTimeout(12000);
beforeEach(async () => {
await page.setViewport({width: 1200, height: 2000});
await page.goTo('http://localhost:3000');
});
it('test 2', async () => {
//my test steps
});
});
有趣的是,如果我在test2中添加一个console.log(“some语句”)作为第一步,那么一切都会重新开始。这就是为什么我认为这可能是一个时间问题。我正在按顺序运行测试,即,jest--runInBand
有人能帮忙吗?正如您所说,我同意问题在于异步顺序,如Patrick Hulce回答中所述: FWIW我也遇到了这个问题,并导致了这个问题。只发生在 异步测试超时但基础操作继续时的CI 直到测试套件完成(我猜是回调) 尝试添加预期的结果)。我永远也不能把它弄到手 不过,这是在当地发生的 因此,您的错误可能在“//my test steps”中,在该步骤中,您可以在运行异步进程之前操作测试中的某些内容