Sinon.JS存根可实现承诺的函数 [英] Sinon.JS stub a function that resolves a promise

查看:87
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆