【问题标题】:Jasmine `expect` never wrong in superagent `end`Jasmine `expect` 在 superagent `end` 中永远不会出错
【发布时间】:2016-09-01 18:07:44
【问题描述】:

我的代码没有做它应该做的事情。超测 end() 回调函数中的所有 Jasmine expect() 都会通过,即使它们不应该通过。

const app = require('../server')
const request = require('supertest')

describe('Client', function() {
  const agent = request.agent(app)

  it('connects to the server', function() {
    agent.post('/users/register/foobar').end(function(err, res) {
      done()
      expect(true).toBe(false) // Doesn't fail
    }
  })
})

从package.json中提取:

"devDependencies": {
  "jasmine": "^2.4.1",
  "supertest": "^2.0.0"
}

npm list给出的实际版本是jasmine@2.4.1和supertest@2.0.0。

我的猜测是 end() 从来没有调用它的函数,但我昨天才开始做这一切,我不知道如何解决这个问题。

你看到我的错误了吗?


编辑

按照建议,我换行将done() 放在末尾,但仍然没有变化。

【问题讨论】:

  • 你为什么要提前完成?

标签: javascript node.js jasmine supertest superagent


【解决方案1】:

我认为使用“完成”功能是错误的。 试试:

it('connects to the server', function(done) {
agent.post('/users/register/foobar').end(function(err, res) {
  expect(true).toBe(false); // Doesn't fail
  done();
}  })

更多详情请查看jasmine文档:Jasmine documentation: Asynchronous Support

【讨论】:

  • 没关系,我没有声明done 参数。你帮了忙!
猜你喜欢
  • 1970-01-01
  • 2016-04-05
  • 2016-10-12
  • 2020-01-16
  • 2019-03-07
  • 2016-02-24
  • 2018-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多