mocha超过2000ms的超时时间(Node.js)

时间:2018-01-17 09:57:29

标签: javascript node.js async-await mocha integration-testing

我的集成测试中有before,如下所示:

  let response = null
  before('read data', done => {
    request(
      {
        uri: 'some/endpoint'
      }
    ) 
    .then(resp => {
      response = fromJS(resp)
      done()
    })
    .catch(e => {
      done(e)
    })
  })

测试正在对响应中的内容进行检查,并且在我的机器上完全正常传递,之前在推送服务器时也正在通过。但是,最近服务器上的测试开始失败,出现timeout of 2000ms exceeded错误。我确信请求的时间不到500毫秒,所以这真的很奇怪。谷歌搜索一段时间并尝试一些建议后,我找到了解决方法。这段代码工作正常:

let response = null
  before('read data', async () => {
    response = fromJS(
      await Promise.resolve(
        request(
          {
            uri: 'some/endpoint'
          }

        )
      )
    )
  })

我想知道的是,我的旧方法有什么问题?什么花了这么多时间来请求?

错误是: Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

0 个答案:

没有答案