我无法找到关于该方法如何准确工作以及如何使用的任何很好的解释。在文档中,我找到了描述:
setDefinitionFunctionWrapper(fn,选项)
设置用于包装步骤/挂钩定义的函数。使用时,
再次包装结果以确保其长度与
原始步骤/挂钩定义。选项是特定于步骤的
wrapperOptions,可能未定义。
我不是经验丰富的程序员,因此我不理解“包装”在这种情况下的含义。如果有人能更有效地解释该主题,我将感到非常高兴
最佳答案
我尝试使用发布的Jorge Chip片段,但它不起作用。
您应该改用以下代码:
const {setDefinitionFunctionWrapper} = require('cucumber');
setDefinitionFunctionWrapper(function(fn){
if(condition){//you want to do before and after step stuff
return async function(){
//do before step stuff
await fn.apply(this, arguments)
//do after step stuff
}
}
else{//just want to run the step
return fn
}
}
在该片段中,他发布了他使用的args无效的方法,并且还在非异步功能中使用过await的方法,该功能也无法正常工作