【问题标题】:Node js make test stub for method chainingNode js为方法链制作测试存根
【发布时间】:2017-02-06 11:05:00
【问题描述】:

我的函数是 sendMail 我想存根函数 mailjet,它有一个方法链 mailjet.post('send').request...

我想断言在邮件成功或失败时调用回调。

那么我如何存根这个方法链呢?

var sendMail = function (templateName, callback) {

// From template name find template id of mailjet
mailingExternalTemplateModel.findMailingTemplateId(templateName, function (err, result) {

        const request = mailjet
            .post("send")
            .request(params)
        request
            .then((result) => {
                if (typeof callback === 'function') {
                    callback(null, result.body);
                }

            })
            .catch((err) => {
                if (typeof callback === 'function') {
                    callback(err, null);
                }
            })
    } else {
        callback(err, null);
    }
});};

我已经完成了

    sinon.stub(mailjet, 'post').withArgs('send').returns(mailjetClient);

    sinon.stub(mailjetClient, 'request').returns(Promise);

但我收到错误 TypeError: Attempted to wrap undefined property request as function

【问题讨论】:

    标签: node.js mocha.js sinon chai mailjet


    【解决方案1】:

    我是负责每个 Mailjet Wrappers 的开发人员,包括 NodeJS 一个。

    我实际上正在更新它们中的每一个,并添加诸如拨打电话(或不拨打电话)的可能性。对于 NodeJS 版本,明天晚上将在 npm 上部署测试版。

    一旦测试版可用,我将使用您必须进行的修改(很少)更新此答案。

    如果你好奇,还是可以看看我做的修改:https://github.com/mailjet/mailjet-apiv3-nodejs/pull/21

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-27
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-25
      相关资源
      最近更新 更多