Javascript 带有Jasmine BDD的嵌套expect()函数不计算

Javascript 带有Jasmine BDD的嵌套expect()函数不计算,javascript,node.js,coffeescript,jasmine,Javascript,Node.js,Coffeescript,Jasmine,我有以下Jasmine上下文和断言: it "should return a javascript file", -> # We make a request to /x.js request {uri: 'http://localhost:3000/x.js'}, (err, res, body) -> expect(res.statusCode).toEqual 200 当我调用Jasmine来评估规范时,它不会接受断言。如何使其拾取断言?您的it()将在您的请

我有以下Jasmine上下文和断言:

it "should return a javascript file", ->
  # We make a request to /x.js
  request {uri: 'http://localhost:3000/x.js'}, (err, res, body) ->
    expect(res.statusCode).toEqual 200
当我调用Jasmine来评估规范时,它不会接受断言。如何使其拾取断言?

您的
it()
将在您的请求返回响应之前退出。对于jasmine,您必须更仔细地考虑异步事件

签出并执行类似的操作,这将阻止您的规范退出,直到执行回调或超过默认超时时间

it "should return a javascript file", ->
  responded = no
  request {uri: 'http://localhost:3000/x.js'}, (err, res, body) ->
    responded = yes
    expect(res.statusCode).toEqual 200

  waitsFor -> responded
如果服务器超时,这也会导致规范失败,因为每个
waitsFor()
最终都会得到满足