如果我使用Mocha编写异步测试,我需要做的就是在测试函数上指定done参数:
test('foo', function (done) {...});
我的问题是:Mocha如何知道是否已完成?
测试函数的定义应该是
之类的function test(title, fn) {...};
Mocha如何检查fn?
答案 0 :(得分:8)
它在测试函数上使用.length
属性。
为了说明,请在Node REPL中尝试:
> (function() {}).length
0
> (function(done) {}).length
1
以下是此检查发生的实际line in the source:
this.async = fn && fn.length;