【发布时间】:2018-02-03 17:32:53
【问题描述】:
我正在尝试运行 mocha 测试,但它不断给我以下错误
错误:超过 2000 毫秒的超时。对于异步测试和钩子,确保调用了“done()”
it('should login into account', (done) => {
let user_login = require("../../data/login.json");
mongoManager.insertDocuments("user", user_login.content, () => {
loginPage.setUserName('demodgsdg');
loginPage.setPassword('123');
loginPage.submit();
browser.waitForAngularEnabled(true);
Assert.equal(element(by.id('navbar')).isDisplayed(), true, "login page is not loaded");
setTimeout(done(), 50000);
done();
});
});
在 mocha 中运行异步测试以使其不超过规定时间的最佳方法是什么?或者我应该在测试功能上设置超时时间
【问题讨论】:
-
setTimeout(done(), 50000)到底应该完成什么?这将在 50 秒后调用done()的返回值。为什么?如果您在 50 秒后调用done(代码将显示为setTimeout(done, 50000),如果您正在这样做的话),那会有些有意义,但调用 返回值done() 的 /i> 完全没有意义。 -
Umm setTimeout(done(), 50000) and just done();基本上是解决上述问题的两种不同尝试。即使没有“setTimeout(done(), 50000);”,超时事件仍然会发生线。因此,为了简单起见,请阅读代码,假设 setTimeout 行不存在。
标签: selenium protractor timeout mocha.js assert