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