如何存根外部API以进行测试

时间:2011-07-19 09:51:54

标签: testing node.js stubbing

我有一个项目,可以从我想测试的node.js服务器调用Twitter的API。但是,我不想测试Twitter API(OAuth和我正在调用的实际API),所以我认为最好将其删除。

我发现sinon.js支持这个。我还没有找到一个如何做到这一点的例子,并想知道以前是否已经这样做过。如果是这样,看一些示例代码真的会有所帮助。

1 个答案:

答案 0 :(得分:3)

你在做什么来调用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);
});