Karma 测量每个规格经过的时间

问题描述 投票:0回答:1

在这种情况下,我有一个角度应用程序,我注意到一些测试规范比其他测试规范慢。我尝试编写简单的时间记者:

function SpecTimingReporter(baseReporterDecorator, config, logger) {
  baseReporterDecorator(this);

  const log = logger.create('spec-timing-reporter');
  this.startTime = 0;

  this.onSpecStart = function (spec) {
    this.startTime = Date.now(); // Record the start time when a spec starts
  };

  this.onSpecComplete = function (browser, result) {
    const elapsedTime = Date.now() - this.startTime; // Calculate elapsed time
    log.info(`Spec "${result.description}" took ${elapsedTime} ms to complete.`);
  };
}

但问题是

onSpecStart
没有被触发。我搜索了一些文档,但找不到任何有用的东西。每个规范都有一些“开始”事件吗?

angular testing karma-runner
1个回答
0
投票

感谢@jonrsharpe,我找到了答案。

关于我的第一个实现,我只需要

onSpecComplete
钩子,然后从
result
对象访问
time
属性,仅此而已。

function SpecTimingReporter(baseReporterDecorator, config, logger) {
  baseReporterDecorator(this);

  const log = logger.create('spec-timing-reporter');

  this.onSpecComplete = function (browser, result) {
    log.log(`[${result.time} ms] ${result.fullName}`);
  };
}
© www.soinside.com 2019 - 2024. All rights reserved.