こんなパターンがあった
該当の関数を簡単に言うと、
- キャッシュがあればキャッシュを呼び出す
- 無ければ該当の無名関数を動かす
どんなテストを書いたか
キャッシュの関数をモックして、モックしたときの返り値を固定にした。
このテストで何が保証できるか
モックした該当のキャッシュの関数が呼ばれていることだけが保証できる。
どうしてそうしてるのか
該当の無名関数の動作テストはあくまで別なテストだと判断。
何がもやもやしてるか
キャッシュ内で動かす無名関数が呼ばれているかはテスト出来ない。
この関数は、キャッシュ関数を呼び出すことだけが本質なのか?その後の返り値に関しての関心事はないのか?
ってなってる(´・ω・`)ショボーン
ただ、テストの仕組み上、どうしょうもないのかな……私達が気づいてないのかな……ってもやもやしてる。