想象一下这段代码:
const myFunc = () => exec('node foo.js')
现在我的库执行myFunc,但是它不知道是否执行另一个脚本。如何知道它?
P.S。 lib是一个测试运行程序+覆盖工具,需要知道测试运行的每段代码。
答案 0 :(得分:1)
如果需要检测可能导致脚本执行不受控制的API调用,并且需要检测调用,则必须对API进行修补,例如:
ASM_HEIGHT18_CL$Height_cm_JUN <- as.numeric(as.character(ASM_HEIGHT18_CL$Height_cm_JUN))
这适用于const childProcess = require('child_process');
const { exec } = childProcess;
childProcess.exec = function () {
console.error(new Error('No coverage'));
return exec.apply(this, arguments);
};
,global.eval
,所有global.Function
模块功能,某些child_process
和vm
函数。