我在浏览器上使用mocha。
在函数内部我有一个名为test
的对象it('', function(done){
console.log(this.test);
done(error);
});
如果我们检查日志,我们会得到this.test
'测试'类型对象。
Test {title: "", fn: function, async: 1, sync: false, _timeout: 50000…}
如果我控制this.test.duration或任何我发现未定义的变量。
我想提取这个'Test'类型对象的持续时间信息。
怎么做.. ??
答案 0 :(得分:2)
当测试实际结束时,您只能访问this.test
的属性。
因此,为了获取此数据,您需要在登录控制台之前调用done();
。
it("is a test", function(done) {
done();
console.log(this.test.title);
console.log(this.test.state);
});
>> "is a test"
>> "passed"
答案 1 :(得分:1)
我已经阅读了mocha的来源,但我没有看到在测试运行时从测试用例中提取所需信息的方法 。当测试结束时,duration
字段计算一次。
您仍然可以计算测试运行的时间:
it('', function(done){
var started_at = new Date;
[... do stuff ...]
console.log("duration so far:" , (new Date - started_at) + "ms");
[... do more stuff ...]
done(error);
});