Я читал, что приватные методы -- это детали реализации, а их покрывать тестами и не надо. По сути, юнит-тесты пишут, чтобы зафиксировать некий контракт, который твой код предоставляет наружу. Приватные методы по определению в этот контракт не входят.
На практике, если хочется покрыть тестами какую-то библиотеку, можно поступить так: создаем index.js и отдельные файлики по вкусу, все в формате CommonJS модулей. index.js require'ит все файлики и делает module.exports тех вещей, которые должны быть публичными. Тесты require'ят файлики по отдельности. Таким образом, библиотека как целое предоставляет наружу только публичный интерфейс, но внутренняя механика покрыта тестами. По желанию CommonJS заменяются на
универсальные модули.