node.js - 如何在后端模拟第三方api调用

标签 node.js mocha.js supertest

我正在使用 mocha 和 supertest 测试我的应用程序,所以我的测试总是像

var request = require('supertest'),
    app = require('./bootstrap.js');

describe('...', function() {
  it('...', function() {
    request(app)
      .get('/some/url')
      // ...
  });

});

bootstrap.js 是我在监听端口之前的真实应用程序

一切都很完美,但最近我必须添加对第三方 API 的调用,并且测试速度很慢

所以当我这样做时,测试需要 5 秒

request(app)
  .get('/my/endpoint/that/makes/call/others')
  // ...

如何在测试期间调用假电话,但在运行应用程序时调用真实电话?

最佳答案

您可以使用nock为此目的。

关于node.js - 如何在后端模拟第三方api调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29173390/

相关文章:

node.js - 使用 API 上传的视频被锁定为私有(private)

node.js - Nodester: "failed-to-start"新应用程序

node.js - 轮询 URL 直到在 JSON 响应中设置特定值 : Mocha, 集成测试

javascript - 使用 Grunt Copy Task 时文件树的扁平化

javascript - 如何在 Node.JS 中限制(或排队)对外部进程的调用?

react-native - 错误 : Error: No views in hierarchy found matching: (with tag value: is "email" and view has effective visibility=VISIBLE)

node.js - 在 Windows 上开发并在 Linux 上构建的代码上使用 NodeJs 的 Grunt?

elasticsearch - 没有setTimeout的Elasticsearch后端测试失败

node.js - 超测,测试安全 REST API

express - server.close 不是一个函数