我有以下common.js代码。
const AWS = require('aws-sdk');
exports.callNextLambda = function callNextLambda(lambdaName, payload) {
const lambda = new AWS.Lambda();
lambda.invoke({
FunctionName: lambdaName,
InvocationType: 'Event',
Payload: payload,
}, (err, data) => {
if (err) console.log(err, err.stack);
else console.log(data);
});
}
我试图以此作为嘲笑,
it('MockAWS.mock should mock Lambda invoke', () => {
const lambda = new AWS.Lambda();
AWSMock.mock(lambda, 'invoke', (params, callback) => {
const awsResponse = {
LogResult:'some-data',
Payload:'{\'contentType\':\'text/plain\',\'message\':\'some-other-data\',\'status\':200}',
StatusCode:200
};
callback(null, awsResponse);
})
});
上面的代码引发了一些奇怪的错误。并且不在代码覆盖范围内。我对NodeJS非常陌生。有人可以帮忙吗?
答案 0 :(得分:0)
我以前没有使用过{{3}},但似乎您在说错了。
更改此:
email+SOMETHING@domain.toplevel
对此:
AWSMock.mock(lambda, 'invoke', (params, callback) => {
// logic here
})
第一个参数必须是字符串。