我目前正在编写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);
}
});
});
}
如何正确地对这些功能进行单元测试?
(请注意,第三方代码已经过单元测试)
答案 0 :(得分:1)
Sinon.js是一个工具,可以帮助您使用第三方库来更改其功能并自行定制功能。这是一个庞大而复杂的主题,我无法在一条评论或一条评论中解释,但我可以给你一些文章,帮助你理解主要概念。这篇文章帮助我开始使用pop()
进行测试时希望它对你也有帮助。
1)Official Documentation (它涵盖了所有科目,但很难从这里学到,不是很好的文档)
2)Article 1 (伟大的文章用ilustrations解释)
3)Article 2 (从这篇文章来看,一切都变得清晰了)