当前位置:  开发笔记 > 编程语言 > 正文

尝试连接API时,Mocha测试套件出错

如何解决《尝试连接API时,Mocha测试套件出错》经验,为你挑选了0个好方法。

我正在使用mocha,通过gulp-jsx-coverage和运行我的测试套件gulp-mocha.我的所有测试都按预期运行并通过/失败.但是,我测试的一些模块通过superagent库向我的API发出HTTP请求.

在开发中,我还在localhost:3000我的客户端应用程序旁边运行我的API ,因此这是我的客户端测试试图访问的URL.但是,在测试时,API通常不会运行.每当请求通过时,都会导致以下错误:

Error in plugin 'gulp-mocha'
Message:
    connect ECONNREFUSED
Details:
    code: ECONNREFUSED
    errno: ECONNREFUSED
    syscall: connect
    domainEmitter: [object Object]
    domain: [object Object]
    domainThrown: false
Stack:
Error: connect ECONNREFUSED
    at exports._errnoException (util.js:746:11)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:983:19)

我已经尝试在全局帮助器中对superagent(别名为request)库中的所有方法进行存根,如下所示:

function httpStub() {
  return {
    withCredentials: () => {
      return { end: () => {} };
    }
  };
};

beforeEach(function() {
  global.sandbox = sinon.sandbox.create();

  global.getStub = global.sandbox.stub(request, 'get', httpStub);
  global.putStub = global.sandbox.stub(request, 'put', httpStub);
  global.patchStub = global.sandbox.stub(request, 'patch', httpStub);
  global.postStub = global.sandbox.stub(request, 'post', httpStub);
  global.delStub = global.sandbox.stub(request, 'del', httpStub);
});

afterEach(function() {
  global.sandbox.restore();
});

但由于某些原因,当遇到某些测试时,这些方法没有存根,因此我得出ECONNREFUSED错误.我已经三次检查了,我没有在哪里恢复沙箱或任何存根.

有没有办法解决我遇到的问题,或者整体上更清洁的解决方案?

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有