设置超时,超时无效

时间:2014-05-13 20:33:51

标签: node.js mocha supertest

我试图用一些代码来测试我的服务器:

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

我需要做些什么来增加此超时?

2 个答案:

答案 0 :(得分:10)

更改request对象的超时不会改变Mocha的默认超时。在测试中执行this.timeout(10000)(无论CoffeeScript等价物是什么)应该注意这一点。

答案 1 :(得分:0)

您可以在运行测试框架时指定超时。例如,对于摩卡咖啡,它就像mocha -t 7000。另外,您可以添加带有setTimeout的测试只是为了创建一个延迟(如果在两次测试之间需要延迟)。