我正在尝试使用mocha和google puppeteer来测试我的组件。在我的单元测试文件中,我将在之前的版本中启动操纵符浏览器,并在之后的功能中关闭该浏览器。当我运行测试文件时,出现以下错误 “之前”钩子 错误:超时超过2000毫秒。对于异步测试和挂钩,请确保调用了“ done()”;如果返回承诺,请确保其解决。
const puppeteer = require('puppeteer');
const { expect } = require('chai');
const _ = require('lodash');
/* create the global variable by using lodash function */
const globalVariables = _.pick(global, ['browser', 'expect']);
/* configurable options or object for puppeteer */
const opts = {
headless: false,
slowMo: 100,
timeout: 0,
args: ['--start-maximized', '--window-size=1920,1040']
}
/* call the before for puppeteer for execute this code before start testing */
before (async () => {
global.expect = expect;
global.browser = await puppeteer.launch(opts);
});
/* call the function after puppeteer done testing */
after ( () => {
browser.close();
global.browser = globalVariables.browser;
global.expect = globalVariables.expect;
});
答案 0 :(得分:1)
在单元测试用例的根目录中(保留测试文件),添加一个mocha.opts
文件,然后添加--timeout 50000
,这会将mocha设置为50000 ms后超时。
现在,将应用默认超时,并且由于测试操作尚未完成,因此您将收到此错误。