【问题标题】:Mocha testing difference between done() and done as paramter to function摩卡测试 done() 和 done 之间的区别作为函数的参数
【发布时间】:2015-09-14 09:24:06
【问题描述】:

请解释 done() 方法和作为参数传递给函数的 done 关键字之间的区别?

it("qwerty",function(done){
  ------
  ------
  done();
});

it('qwerty', function(done){
  ----------
  ----------
  .expect(404, done);
})

请解释差异以及我可以在循环中调用 done() 多少次 如果我打了 15 次电话,我会收到一个错误“多次完成()调用”

【问题讨论】:

    标签: node.js unit-testing testing mocha.js


    【解决方案1】:

    在第一个示例中,您显式调用它。在第二个中,您将done 函数作为回调传递给expect。它检查响应状态(我假设您使用 supertest 库),如果它等于 404,则在没有参数的情况下调用 done 函数(没有错误)。否则它会调用 done 并带有断言错误的实例,因此 mocha 知道这是一个失败的测试。

    作为常规回调,done 不应被多次调用。它应该只被调用一次,表示某个动作的结束,即您的案例中的测试。如果您正在寻找通过测试的能力,只需throw 即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-24
      • 1970-01-01
      • 2018-04-01
      • 2013-02-04
      • 2014-06-09
      • 1970-01-01
      • 2016-12-14
      • 2017-04-01
      相关资源
      最近更新 更多