如何在nodejs中单元测试第三方代码?

时间:2016-06-09 17:25:44

标签: node.js unit-testing

我目前正在编写API以供在私有环境中使用。引入的一些功能是第三方功能的默认版本。

示例:

第三方代码:

function someFunction(argument, callback) {
    var command = stuff;
    return this.exec(command, parse_command(callback));
}

我的代码:

function promisifiedFunction() {
    new Promise(function (resolve, reject) {
        third-party.someFunction('argument', function (err, status) {
            if (err) {
                return reject(new Error("FOO"));
            } else {
                return resolve(status.result);
            }
        });
    });
}

如何正确地对这些功能进行单元测试?

(请注意,第三方代码已经过单元测试)

1 个答案:

答案 0 :(得分:1)

Sinon.js是一个工具,可以帮助您使用第三方库来更改其功能并自行定制功能。这是一个庞大而复杂的主题,我无法在一条评论或一条评论中解释,但我可以给你一些文章,帮助你理解主要概念。这篇文章帮助我开始使用pop()进行测试时希望它对你也有帮助。

1)Official Documentation (它涵盖了所有科目,但很难从这里学到,不是很好的文档)

2)Article 1 (伟大的文章用ilustrations解释)

3)Article 2 (从这篇文章来看,一切都变得清晰了)