Node.js 摩卡如何知道指定了done?

Node.js 摩卡如何知道指定了done?,node.js,tdd,mocha.js,Node.js,Tdd,Mocha.js,如果我使用Mocha编写异步测试,我需要做的就是在测试函数中指定done参数: test('foo', function (done) {...}); 我的问题是:摩卡咖啡如何知道是否已完成 测试函数的定义应该是 function test(title, fn) {...}; 摩卡如何检查fn?它在测试函数中使用.length属性 要进行说明,请在节点REPL中尝试以下操作: > (function() {}).length 0 > (function(done) {}).len

如果我使用Mocha编写异步测试,我需要做的就是在测试函数中指定done参数:

test('foo', function (done) {...});
我的问题是:摩卡咖啡如何知道是否已完成

测试函数的定义应该是

function test(title, fn) {...};

摩卡如何检查fn?

它在测试函数中使用
.length
属性

要进行说明,请在节点REPL中尝试以下操作:

> (function() {}).length
0
> (function(done) {}).length
1
以下是该检查发生的实际位置:

this.async = fn && fn.length;

太好了,谢谢!我不知道函数上存在这样的属性:-)没问题。该检查发生在
fn
参考上。