2016-11-24 90 views
0

在我的摩卡测试中,我有这样的事情使用.done()进行的摩卡测试有什么问题?

it.only("diag", function(done) { 
     let data = null; 
     app.client.timeoutsAsyncScript(5000).executeAsync(function(data, done) { 
      console.log("START"); 
      done(); 
     }); 
    }); 

在我的应用程序可以看到的console.log已经完成。但是这个函数.done()从来没有被调用过。为什么?什么可能是错的?

感谢您的帮助!

+0

您有一个范围命名问题。查看[本页](https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20%26%20closures/ch2.md)以获取更多关于变量如何工作的信息在范围内。 – MarcoL

回答

1

您的回调函数中有参数“done”。本地作用域的变量将用于来自外部作用域的变量。您可以将其删除或重命名executeAsync(function(data, done2) { ...