【问题标题】:nested expect() function with Jasmine BDD does not evaluateJasmine BDD 的嵌套 expect() 函数不计算
【发布时间】:2011-10-07 15:59:12
【问题描述】:

我有以下 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 来评估规范时,它不会接收断言。我怎样才能让它拾取断言?

【问题讨论】:

    标签: javascript node.js coffeescript jasmine


    【解决方案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() 都希望最终得到满足。

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多