在我的节点应用程序中,我使用 mocha 来测试我的代码。使用 mocha 调用许多异步函数时,出现超时错误 ( Error: timeout of 2000ms exceeded.)。我该如何解决这个问题?
Error: timeout of 2000ms exceeded.
var module = require('../lib/myModule'); var should = require('chai').should(); describe('Testing Module', function() { it('Save Data', function(done) { this.timeout(15000); var data = { a: 'aa', b: 'bb' }; module.save(data, function(err, res) { should.not.exist(err); done(); }); }); it('Get Data By Id', function(done) { var id = "28ca9"; module.get(id, function(err, res) { console.log(res); should.not.exist(err); done(); }); }); });
您可以在运行测试时设置超时:
mocha --timeout 15000
或者您可以以编程方式为每个套件或每个测试设置超时:
describe('...', function(){ this.timeout(15000); it('...', function(done){ this.timeout(15000); setTimeout(done, 15000); }); });
有关更多信息,请参阅文档。