gpt4 book ai didi

node.js - 使用 Jasmine Hook 捕获测试套件的总时间或持续时间

转载 作者:太空宇宙 更新时间:2023-11-04 01:17:57 24 4
gpt4 key购买 nike

我一直在尝试从 jasmineDone Hook 检索“totalTime”或从 SuiteResult 检索“duration”,如 [https://jasmine.github.io/api/edge/global.html#] 中所述]但它们似乎不可用。如果有任何指点,将不胜感激?

我找到了@DublinDev对此的答案Jasmine get current test result这很有帮助。这允许我使用 specDone 钩子(Hook)获取每个测试的持续时间,我可以使用该钩子(Hook)并添加每个结果,但我很想知道我是否做错了什么。

我正在使用上面链接(第二个链接)中的以下代码,并且希望 console.logs 中的任何一个输出时间,但都没有输出任何内容

function dbReporter() {

this.jasmineStarted = function (options) { };

this.specStarted = function (result) { };

this.specDone = async function (result) { };

this.suiteStarted = function (result) { };

this.suiteDone = function (result) {
console.log('duration=', result.duration)
}
this.jasmineDone = async function (result) {
console.log('totalTime=', result.totalTime)
}
}

module.exports = dbReporter;

最佳答案

鉴于您已经拥有最新版本的 Jasmine,我建议您创建自己的计时器,该计时器从 jasmineStarted Hook 开始,以 JasmineDone Hook 结束。

onPrepare: () => {

//Create a global variable to be used for the timer
global.jasmineTimer = 0;

jasmine.getEnv().addReporter({
jasmineStarted: function (options) {
jasmineTimer = Date.now();
console.log(`Starting execution ${jasmineTimer}`)
},
jasmineDone: async function (result) {

console.log(`Finished execution in ${(Date.now() - jasmineTimer) / 1000}s`)
}
})
}

Screenshot of output

关于node.js - 使用 Jasmine Hook 捕获测试套件的总时间或持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60300535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com