5

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

test('foo', function (done) {...});

我的问题是:摩卡如何知道是否完成了?

测试函数的定义应该是这样的

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

摩卡如何检查fn?

4

1 回答 1

11

它使用.length测试函数的属性。

为了说明,在 Node REPL 中试试这个:

> (function() {}).length
0
> (function(done) {}).length
1

这是发生此检查的源代码中的实际行:

this.async = fn && fn.length;
于 2013-04-07T20:56:23.767 回答