我注意到整套 Jasmine 测试开始花费我想要的更多时间,但我不确定哪些实际上会导致延迟。有没有办法在不单独运行每个测试的情况下找到它?
问问题
2089 次
2 回答
2
基本ConsoleReporter
只报告所有测试经过的时间,但是如果您查看它的源代码,您会发现很容易修改为每个规范添加经过的时间。基本上,您需要做的是记录调用函数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();
};
于 2012-12-25T16:41:23.413 回答
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-有一些应该/
于 2012-12-25T11:27:29.687 回答