我有以下 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 来评估规范时,它不会接受断言。我怎样才能让它拾取断言?
我有以下 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,您必须更加努力地考虑异步事件。
检查waitsFor()
并执行类似的操作,这将阻止您的规范退出,直到执行回调或默认超时期限已过。
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()
希望最终得到满足。