我正在通过Mocha(通过Node)运行Selenium测试,每次我进行全部测试时,都会在同一确切位置看到此警告消息:
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added. Use emitter.setMaxListeners() to increase limit
如果我只运行一个测试,我不会看到此问题,因此该问题似乎与运行多个测试有关。
我尝试指定--trace-warnings
命令行参数,但似乎没有任何作用。具体来说,我修改了我的测试运行器脚本来做到这一点:
node --trace-warnings node_modules/mocha/bin/mocha ...
我仍然看到相同的警告消息,但没有看到堆栈跟踪。
SO上的其他帖子提供了增加限制的建议,但这不是我要在此处执行的操作。我试图弄清楚为什么此警告首先出现。
答案 0 :(得分:0)
我不知道为什么命令行参数不起作用,但是我找到了另一种方法来从此处获取堆栈跟踪:
https://nodejs.org/docs/latest/api/process.html#process_event_warning
process.on('warning', (warning) => {
console.warn(warning.name); // Print the warning name
console.warn(warning.message); // Print the warning message
console.warn(warning.stack); // Print the stack trace
});