如何获取Mocha#<test>类型对象</test>的信息

时间:2013-12-02 12:18:36

标签: javascript mocha testcase

我在浏览器上使用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'类型对象的持续时间信息。

怎么做.. ??

2 个答案:

答案 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);
});