我正在尝试使用aws-sdk-mock的承诺支持编写一个单元测试。我正在使用DocumentClient。使用aws-sdk-mock的承诺支持与DocumentClient嘲弄
我的代码如下所示:
const docClient = new AWS.DynamoDB.DocumentClient();
const getItemPromise = docClient.get(params).promise();
return getItemPromise.then((data) => {
console.log('Success');
return data;
}).catch((err) => {
console.log(err);
});
我的模拟和单元测试是这样的:
const AWS = require('aws-sdk-mock');
AWS.Promise = Promise.Promise;
AWS.mock('DynamoDB.DocumentClient', 'get', function (params, callback)
{
callback(null, { Item: { Key: 'test value } });
});
dynamoStore.getItems('tableName', 'idName', 'id').then((actualResponse) => {
// assertions
done();
});
捉迷藏我的单元测试,不回我的测试值,它实际上绕过我的模拟,并直接调用dynamoDb。我究竟做错了什么?我怎样才能让我的模拟设置正确?
你找到一个解决的办法? – gouravtiwari21
@ gouravtiwari21,不,我从来没有。 – JAck28