testing - 如何 stub 用于测试的外部 API

标签 testing node.js stubbing

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

我发现 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);
});

关于testing - 如何 stub 用于测试的外部 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6745293/

相关文章:

java - 如何在 JMeter 中将变量从一个线程组传递到另一个线程组

react-native - 如何在 Detox 中添加像 not.toHaveText 这样的否定断言?

node.js - 使用 nginx 和 socket.io 时客户端无法一起交互

node.js - Nodejs 发送部分响应不起作用

javascript - asyncjs 回调未执行

java - Mockito 没有正确 stub 将列表作为参数的方法

unit-testing - NSubstitute:无法模拟与没有相应 setter 的成员变量关联的语法糖 getter 方法

apache-flex - 基于 FLEX 的应用程序的自动化测试

java - 用于自动化测试的嵌入式 jetty

scala - 如何在 Scala 中的对象中 stub protected 方法