Мокко конфликтует с тем, почему работает узел
Я запускаю mocha, чтобы протестировать некоторые функции, которые портят дочерние процессы, подключаются к базам данных и другие забавные вещи, которые могут привести к тому, что процесс узла не завершится. Mocha не выходил автоматически, якобы подтверждая, что это происходит, однако, когда я добавил, почему-это-узел-работает, к ловушке after, это сгенерировало эту ошибку:
There are 21 handle(s) keeping the process running
# SIGNALWRAP
{projectpath}\node_modules\mocha\bin\_mocha:585 - process.on('SIGINT', () => {
"after all" hook:
TypeError: Cannot read property 'indexOf' of null
at node_modules\why-is-node-running\index.js:33:23
at Array.filter (<anonymous>)
at printStacks (node_modules\why-is-node-running\index.js:31:36)
at whyIsNodeRunning (node_modules\why-is-node-running\index.js:28:36)
at Context.<anonymous> ({line of code that calls why-is-log-running})
в верхней части моего модуля у меня есть
const logwhy = require('why-is-node-running');
и после крюка точно так:
after(function(){
logwhy();
});
Если я включу звонок в why-is-node-running
во время ожидания:
after(function(){
setTimeout(logwhy,1000);
});
выход:
There are 21 handle(s) keeping the process running
# SIGNALWRAP
{project path}\node_modules\mocha\bin\_mocha:585 - process.on('SIGINT', () => {
а потом мокко выходит. Мокко не выходит иначе... Что происходит? Почему другие 20 дескрипторов не получают вывод?