摩卡 - 回调“结束”永远不会被召唤?

时间:2017-08-11 18:11:14

标签: mocha

我是mocha的新手,我正在尝试实施一项新测试。我发现我的end方法的回调永远不会被调用

it('should allow valid urls', function(){
  var myUrl = "http://localhost:8080/test";
  api.get(myUrl)
    .end(function(err, res) {
       console.log('THIS IS THE END, MY FRIEND');
     });
});

有谁知道为什么?我也尝试过使用回调expect,它也永远不会被调用。

1 个答案:

答案 0 :(得分:1)

事实证明mocha对函数参数进行了分析,并且我忘了在我的mocha回调中添加一个参数 - 即使它在我的函数或任何可见代码中都没有被引用过!

所以解决方案只是将一个变量done作为函数参数添加到我的it函数中,并且它工作正常,即使它在直接上下文中没有明显使用;-)

it('should allow valid urls', function(done){
...

编辑:请注意{@ 1}}应该在我的回调中使用,正如@ oligofren所提到的那样,但我还没有达到这一点,并且惊讶地看到回调本身没有触发。