Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 如何对外部API进行存根测试_Testing_Node.js_Stubbing - Fatal编程技术网

Testing 如何对外部API进行存根测试

Testing 如何对外部API进行存根测试,testing,node.js,stubbing,Testing,Node.js,Stubbing,我有一个项目,可以从node.js服务器调用Twitter的API,我想测试一下。然而,我不想测试twitterapi(OAuth和我正在调用的实际API),所以我认为最好把它去掉 我发现sinon.js应该支持这一点。我还没有找到一个这样做的例子,我想知道以前是否做过。如果是这样的话,查看一些示例代码将非常有帮助。您如何调用API 假设您使用一个名为api.call('url',function(error,response){…}): 你可以用sinon“假装”回拨,轻轻地或随便什么 轻轻使

我有一个项目,可以从node.js服务器调用Twitter的API,我想测试一下。然而,我不想测试twitterapi(OAuth和我正在调用的实际API),所以我认为最好把它去掉


我发现sinon.js应该支持这一点。我还没有找到一个这样做的例子,我想知道以前是否做过。如果是这样的话,查看一些示例代码将非常有帮助。

您如何调用API

假设您使用一个名为
api.call('url',function(error,response){…})

你可以用sinon“假装”回拨,轻轻地或随便什么

轻轻使用的示例:

gently.expect(api, 'call', function (url, callback) {
  assert.equal(url, 'http://api.twitter.com/...');
  callback(Error('Fake error'), null);
});

因此,如果我想返回一些伪JSON,那么回调(null,{id:1});行吗?行!检查这些测试,例如,我也测试了错误案例和返回的json案例:我已经将一个答案标记为已接受,但我只是想把它放在那里。我写了一篇博客文章,使用Sinon为Twitter API存根对象。如果有人想看看它是如何与Sinon合作的,请看一看。