Testing 如何对外部API进行存根测试
我有一个项目,可以从node.js服务器调用Twitter的API,我想测试一下。然而,我不想测试twitterapi(OAuth和我正在调用的实际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“假装”回拨,轻轻地或随便什么 轻轻使
我发现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合作的,请看一看。