在这种情况下,我有一个角度应用程序,我注意到一些测试规范比其他测试规范慢。我尝试编写简单的时间记者:
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
没有被触发。我搜索了一些文档,但找不到任何有用的东西。每个规范都有一些“开始”事件吗?
感谢@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}`);
};
}