私は非同期関数をテストしようとしました。しかし、mochaは常にタイムアウトエラーをログに記録します。私はmocha test.js
を実行モカエラー:2000msのタイムアウトを超えました。このテストでdone()コールバックが呼び出されていることを確認してください。
// iframe.js
var iframe_client_util = {};
iframe_client_util.findByKeyFrame = function (keyFrame, cb) {
ModelIframeClient.find({key_frame: keyFrame}).exec(function (err, rs) {
if (err) return cb(err, null);
cb(null, rs);
});
};
// test.js
var assert = require("assert");
var iframe_util = require("./iframe");
describe('1. _checkAuthorization', function() {
it("Using setTimeout to simulate asynchronous code!", function (done) {
iframe_util.findByKeyFrame("598ad74b1ca8870b0072b6e9", function (err, result) {
assert.equal(true, true);
done();
});
});
});
その後モカログこのエラー:
Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test.
私は、この文書に従ってください:https://mochajs.org/#asynchronous-code。
このテストは2000msを超えているようです。おそらく、偽の非同期関数をテストするでしょうか? – evolutionxbox
@evolutionxbox 'iframe_util.findByKeyFrame'は「偽の非同期関数」ですか? –