【问题标题】:How to spy a callback argument如何监视回调参数
【发布时间】:2017-02-06 13:05:37
【问题描述】:

我有这样的功能:

var updateSomething = function(arg1, arg2, callback) {
  ...
  db.update(arg, function(err, res) {
    callback(err, res);
  });
};

我正在测试一个 API 执行一些内部调用此函数的请求,我想知道调用时的回调值,我如何使用 Sinon 监视 res 的值和错误在我的单元测试中?

【问题讨论】:

  • 这就是依赖注入派上用场的地方。实际上有一个很好的入门视频:youtube.com/…
  • 好信息,谢谢伙计!

标签: javascript sinon


【解决方案1】:

假设您的 API 从外部获取 callback 参数:

var callbackSpy = sinon.spy();

yourAPI.fetchSomething(arg1, arg2, callbackSpy);

console.log(callbackSpy.args[0]);

【讨论】:

  • 感谢您的回复,我不会从外部接收回调,这样会更容易我不需要间谍来获取值
  • 哦,对了...好吧,我想我是智障了 :D 开个玩笑,如果updateSomething 被定义为私有变量,你的问题是不可能的
  • 我开始认为不可能检查,因为你猜到 updateSomething 是一个私有函数 :)
猜你喜欢
  • 2020-05-23
  • 1970-01-01
  • 2018-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多