我在用小丑来做我的网络测试。如果我运行的测试都是在一个文件中定义的,那么一切都是完美的。
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
});
});有趣的是,如果我在console.log中添加了一个test2 (“statement”)作为第一步,那么一切都会恢复正常。这就是为什么我认为这可能是一个时间问题。我正在按顺序运行我的测试,即jest --runInBand
有人能帮忙吗?
发布于 2018-07-31 15:52:43
正如您所说的,我同意问题是顺序异步的,正如在Patrick中的github bugreport中所解释的:
FWIW我也遇到了这个问题,并导致了这个问题。只有当异步测试超时时才在CI中发生,但底层操作一直持续到测试套件完成(我猜回调试图添加预期的结果)。不过,我不可能让它在当地发生。
因此,您的错误可能在"//my test steps“中,在这两个测试中,在运行异步进程之前,您都可以/需要操作这些测试中的某些内容。
https://stackoverflow.com/questions/51441385
复制相似问题