Node.js 使用Jasmine钩子捕获测试套件的总时间或持续时间
我一直在尝试从jasmineDone钩子中检索“totalTime”,或从SuiteResult中检索“duration”,如[中所述,但它们似乎不可用。如果有任何提示,我将不胜感激 我发现@DublinDev的答案非常有用。这让我可以使用specDone钩子获得每次测试的持续时间,我可以潜在地使用它并添加每个结果,但我很想知道我是否做错了什么 我正在使用上面链接(第二个链接)中的以下代码,希望console.log中的任何一个都能输出一个时间,但它们都不能输出任何内容Node.js 使用Jasmine钩子捕获测试套件的总时间或持续时间,node.js,jasmine,protractor,Node.js,Jasmine,Protractor,我一直在尝试从jasmineDone钩子中检索“totalTime”,或从SuiteResult中检索“duration”,如[中所述,但它们似乎不可用。如果有任何提示,我将不胜感激 我发现@DublinDev的答案非常有用。这让我可以使用specDone钩子获得每次测试的持续时间,我可以潜在地使用它并添加每个结果,但我很想知道我是否做错了什么 我正在使用上面链接(第二个链接)中的以下代码,希望console.log中的任何一个都能输出一个时间,但它们都不能输出任何内容 function dbR
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,我建议你自己制作一个计时器,从JasmineStartedHook开始,到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`)
}
})
}
鉴于您已经拥有最新版本的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`)
}
})
}
嘿,很高兴你发现我之前的答案很有用!我也希望这能起作用。你能确认你正在使用的Jasmine版本吗?看来,
totalTime
属性只添加到了中的jasmineDone
的结果对象中。这里是Hi DublinDev,我希望你在某处:-)我正在使用最新的版本3.5,这让它变得更加混乱。但是我只是想,也许我的本地版本是不正确的。看看这些控制台日志是否根本没有被激活,或者它们是否打印totalTime=undefined
?我已经检查过了,版本看起来还可以并且是最新的是,它们都打印为undefinedhy,很高兴你找到了我的p上一个答案很有帮助!我也希望这能起作用。你能确认你正在使用的Jasmine版本吗?看来,totalTime
属性只添加到了中的jasmineDone
的结果对象中。这里是Hi DublinDev,我希望你在某个地方:-)我正在使用最新的版本3.5,这使它成为了一切更让人困惑的是。不过,我只是想知道我的本地版本可能不正确。我只是想看看这些控制台日志是否根本没有被激活,或者它们是否打印totalTime=undefined
?我已经检查过,版本似乎正常且最新是的,它们都打印为undefined