是否可以在Node.js中检测代码是否执行其他脚本/文件

时间:2018-11-10 00:57:44

标签: node.js

想象一下这段代码:

const myFunc = () => exec('node foo.js')

现在我的库执行myFunc,但是它不知道是否执行另一个脚本。如何知道它?

P.S。 lib是一个测试运行程序+覆盖工具,需要知道测试运行的每段代码。

1 个答案:

答案 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_processvm函数。