如何在nodejs中testing第三方代码?

我目前正在编写一个在私人环境中使用的API。 一些介绍的function是第三方function的promisified版本。

例:

第三方代码:

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); } }); }); } 

我如何正确地unit testing这些function?

(请注意,第三方代码已经过unit testing)

Sinon.js是帮助您工作的第三方库更改function和自定义function的工具。 这是一个大而复杂的话题,我不能一言以蔽之,但是我可以给你一些文章的链接,帮助你理解主要概念。 这篇文章帮助我开始使用sinon.js进行testing,希望对你也有帮助。

1) 正式文件 (涵盖所有主题,但很难从这里学习,不好的文件)

2) 第1条 (大文解释)

3) 第2条 (从这篇文章中一切都变清楚了)