如何判断哪些测试花在茉莉花上的时间最多?

时间:2012-12-25 11:22:31

标签: node.js jasmine

我注意到整套Jasmine测试开始花费我想要的更多时间,但我不确定,哪些实际上会造成延迟。有没有办法在不单独运行每个测试的情况下找到它?

2 个答案:

答案 0 :(得分:2)

基本ConsoleReporter仅报告所有测试所用的时间,但是如果您查看它的source code,您会发现它很容易修改以添加经过的时间对于每个规格。基本上你需要做的是在函数reportSpecStarting(在规范开始运行之前)被调用时记录规范开始的时间,并在函数reportSpecResults时输出差异(就在规范运行完毕之后)。

因此,如果您使用此修改ConsoleReporter,它会输出每个规范的名称及其已用时间:

this.reportSpecStarting = function() {
    this.specStartingTime = this.now();
};

this.reportSpecResults = function(spec) {
    var results = spec.results();

    print(results.description + " ");

    if (results.skipped) {
        yellowStar();
    } else if (results.passed()) {
        greenDot();
    } else {
        redF();
    }

    print(" (" + (this.now() - this.specStartingTime) + "ms)");
    newline();
};

答案 1 :(得分:0)

使用Jasmines HTMLReporter怎么样? (向下) http://pivotal.github.com/jasmine/

嗯...也许你可以循环它,以便每个文件单独执行? (不是最好的答案:() http://elegantcode.com/2011/03/07/taking-baby-steps-with-node-js-bdd-style-unit-tests-with-jasmine-node-sprinkled-with-some-should/