Javascript MochaJS:如何在全局mocha实例中调用规范级挂钩?

Javascript MochaJS:如何在全局mocha实例中调用规范级挂钩?,javascript,testing,automation,mocha.js,hook,Javascript,Testing,Automation,Mocha.js,Hook,有没有办法在每个规范前后运行一个钩子? 例如,有3个*.spec.js文件,控制台标准输出应如下打印 (我知道这可以在单个规范本身的挂钩之前完成。但这意味着在所有规范文件中编写大量重复代码。) 有roothook,但它们在运行所有规范之前和之后打印。我的要求是在每个规范之前和之后打印(而不是在整个套件之前和之后) 规范开始于:12:00:00(我相信您可以使用 //test/timer-hooks.js 函数计时器(){ //获取时间并将其格式化为字符串 } exports.mochaHooks

有没有办法在每个规范前后运行一个钩子? 例如,有3个
*.spec.js
文件,控制台标准输出应如下打印

(我知道这可以在单个规范本身的挂钩之前完成。但这意味着在所有规范文件中编写大量重复代码。)

有roothook,但它们在运行所有规范之前和之后打印。我的要求是在每个规范之前和之后打印(而不是在整个套件之前和之后)

规范开始于:12:00:00(我相信您可以使用

//test/timer-hooks.js
函数计时器(){
//获取时间并将其格式化为字符串
}
exports.mochaHooks={
每次之前(完成){
log(`Spec起始于:${timer()}`);
完成();
},
每次之后(完成){
log(`Spec结束于:${timer()}`);
完成();
}
};
然后,在运行测试时,添加
——require test/timer hooks.js

mocha——需要测试/timer-hooks.js
Spec started at : 12:00:00 (<-- called from global spec level beforeHook) 
  ✓ Spec 1 tests
  ✓ ...
  ✓ ...
Spec Ended at : 12:00:10 (<-- called from global spec level afterHook) 

Spec started at : 12:00:11 (<-- called from global spec level beforeHook) 
  ✓ Spec 2 tests
  ✓ ...
  ✓ ...
Spec Ended at : 12:00:15 (<-- called from global spec level afterHook) 

Spec started at : 12:00:15 (<-- called from global spec level beforeHook) 
  ✓ Spec 3 tests
  ✓ ...
  ✓ ...
Spec Ended at : 12:00:20 (<-- called from global spec level afterHook)