【发布时间】:2017-01-11 08:03:59
【问题描述】:
在使用 mocha 进行测试期间,我遇到了 S3.getObject() 的调用问题。
我在 Lambda 中的代码是这样的:
index.js:(AWS Lambda 函数内部)
S3.getObject(s3FileParams, function(err, data) {
if (err) {
var message = "Error while trying to get file object " + fullFileName + " from bucket " + bucketName + ". Make sure they exist and your bucket is in the same region as this function. Error: " + err;
console.error(message);
}
else {
userMetaDataJson = data.Metadata;
}
resolve();
})
在测试文件中 index.test.js(使用 mocha)
AWSMock.mock('S3', 'getObject', function (params, callback){
var metaDataParams = {
"Metadata": {
"startDate": "2016-11-11 12:34:56:000",
"endDate": "2016-11-11 12:34:56:000",
"userName": "userName",
"originalFileName": "originalFileName"
}
};
callback(false, metaDataParams);
});
使用 mocha 运行此测试时,没有调用模拟的 getObject() 而是调用原始的,有什么我可以做的吗?
我还有其他方法可以使用吗?
【问题讨论】:
标签: amazon-web-services testing amazon-s3 mocha.js aws-lambda