简单的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 Elastic Beanstalk部署运行npm脚本?
- 将较大的CSV文件加载到DynamoDb中的最佳/最佳方法
- 是否有一个好的对象映射器可以在nodejs中使用的Amazons dynamodb(通过aws sdk)?
- 使用javascript SDK在lambda上启用SNS事件源
- InvalidParameterValueException:为函数定义的angular色不能由Lambda承担
- AWS负载平衡器安全组
- 从url下载文件并将其上传到AWS S3而不保存 – node.js
- 为正在上传到AWS S3的图像设置过期和caching控制标头
- 无法在Elastic Beanstalk上部署KeystoneJS