Jestで非公開関数をテストしたい
rewire を使うと簡単にできた。
前提
Jest入ってる。Babel入れてない。
インストール
npm install --save-dev rewire
準備
通常なら require(path)
とするところを rewire(path)
にする
const rewire = require('rewire') const myModule = rewire('./myModule')
テスト対象の関数を取り出してテストする
const myPrivateFunc = myModule.__get__('myPrivateFunc'); expect(myPrivateFunc()).toEqual({})