4

我正在尝试使用如下代码测试我的服务器:

describe 'POST /do/some/stuff/', ->
  it 'should do this thing', (done) ->
    request app
      .post '/do/some/stuff/'
      .timeout 10000
      .expect 200
      .end (err, res) ->
        return done err if err?
        done()

服务器所做的事情通常需要几秒钟,这比默认的超时时间 2000 毫秒还要长,所以我调用.timeout 10000. 然而,尽管如此,当我运行代码时,我得到:

1) POST /do/some/stuff/ should do this thing:
   Error: timeout of 2000ms exceeded

我需要做什么来增加这个超时时间?

4

2 回答 2

10

更改request对象的超时不会更改 Mocha 的默认超时。在您的测试中执行this.timeout(10000)(无论 CoffeeScript 等价物是什么)都应该解决这个问题。

于 2014-05-13T22:13:09.080 回答
0

您可以在运行测试框架时指定超时。例如,对于 mocha,它会像mocha -t 7000. 或者,您可以使用 setTimeout 添加测试以创建延迟(如果所需的延迟在测试之间)。

于 2020-05-14T01:00:03.993 回答