我有以下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来评估规范时,它不会接受断言。我怎样才能让它获得断言?
答案 0 :(得分:1)
在您的请求返回响应之前,您的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()
最终都会得到满足。