Sinon.JS存根可实现承诺的函数 [英] Sinon.JS stub a function that resolves a promise
本文介绍了Sinon.JS存根可实现承诺的函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用Sinon存根使用回调来解决诺言的函数:
I want to use Sinon to stub a function that uses callbacks which resolve a promise:
const callback = (err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
stub.me({}, callback);
我尝试过:
var stub = {
me: sinon.stub().yieldsTo("resolve", "my_data"),
};
但我不断收到摩卡咖啡超时.
but I keep getting mocha timeouts.
代码未为回调定义const
.全部在stub.me函数调用中.我只是这样写的,所以读起来很清楚.
The code doesn't define a const
for callback. It's all in the stub.me function call. I just wrote it like that so it would be clear to read.
它也包裹在new Promise((resolve,reject) => {} );
块中.
推荐答案
这是由于范围错误引起的.对于aws-sdk-mock的扩展坞,需要在该函数中初始化AWS服务.
This was due to a scope error. Per the docks for aws-sdk-mock, AWS service needs to be initialized in the function.
不起作用:
var AWS = require('aws-sdk');
var sns = AWS.SNS();
var dynamoDb = AWS.DynamoDB();
exports.handler = function(event, context) {
// do something with the services e.g. sns.publish
}
作品:
var AWS = require('aws-sdk');
exports.handler = function(event, context) {
var sns = AWS.SNS();
var dynamoDb = AWS.DynamoDB();
// do something with the services e.g. sns.publish
}
这篇关于Sinon.JS存根可实现承诺的函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文