简单的aws-sdk-mock超时而不调用callback

我正在使用摩卡框架在nodejs中编写一些unit testing。 最近,我一直在尝试学习如何使用aws-sdk-mock模块和相同页面上的解释来模拟Amazon Web Services SDK。
我想出了一个简短的testing,它应该模拟DynamoDB DocumentClient'get'操作,调用一次,并logging返回值。 这里是代码:

var AWS = require('aws-sdk'); var AwsMock = require('aws-sdk-mock'); describe("xyz", function() { it('should call "get" on mock database', function(done) { AwsMock.mock('DynamoDB.DocumentClient', 'get', function(params, callback) { callback(null, { Item: { Key: 'Value' } }); }); var dynamoDb = new AWS.DynamoDB.DocumentClient(); dynamoDb.get({}, function(err, data) { console.log('data: ' + JSON.stringify(data)); done(); }); }); }); 

然而,由于某些原因,我逃跑了,这个testing保持失败,超时错误,因为callback错误似乎从来没有被调用过。 这是完整的testing结果:

 xyz 1) should call "get" on mock database 0 passing (2s) 1 failing 1) xyz should call "get" on mock database: Error: timeout of 2000ms exceeded. Ensure the done() callback is being called in this test. npm ERR! Test failed. See above for more details. 

我相信我非常仔细地跟踪了aws-sdk-mock页面上的解释(我没有改变地复制了模拟部分),而且在这个代码中找不到错误。 我search谷歌和Stackoverflow,但无法find类似的问题,所以任何人都可以告诉我问题在哪里?

提前致谢。

       

网上收集的解决方案 "简单的aws-sdk-mock超时而不调用callback"