process.on("exit")
で書き込み処理が実行されるので、テストにおいて process.removeListeners()
でハンドラを削除してしまっていると出力されない。
ハンドラを削除する必要がある場合は、process.listeners("exit")
で事前にハンドラを退避し、事後に設定し直すことで対応できる。下記は istanbul + mocha での場合。
var exitHandlers;
before(function () {
exitHandlers = process.listeners("exit");
});
after(function () {
exitHandlers.forEach(function (handler) {
process.on("exit", handler);
});
});