技術とかの雑なToday I Learnedメモ

テスト初心者すぎる

テスト初心者すぎる

テスト初心者すぎて悲しくなったので覚えるためにメモ。

beforeAllbeforeEach

セットアップと破棄 · Jest

beforeAllbeforeEachの違いで詰まったりしてた。

boforeAllafterAllはファイルの最初と最後にそれぞれ 1 回ずつ実行される。

と思ったけど、describeの中で定義すれば「そのdescribeブロックの中で 1 回」実行するらしい。

beforeEachafterEachは、testの各ブロック(の前後)で実行される。

describeの中でbeforeEachafterEachを定義した場合はそのdescribeブロックの中のtestだけに適用される。

mockClear

Jest mockClear(), mockReset(), mockRestore() の違い - Qiita

mockClear()mockFn.mock.callsmockFn.mock.instancesを初期化するだけ。

mockReset()は上記に加えてmockImplementationmockReturnValueに設定した実装や戻り値をすべてリセットする

mockRestore()は、jest.spyOnで作ったモックを戻す。つまりモックを破棄して、オリジナルの関数を呼ぶようになる。

まとめ

ここらへんすら曖昧だったとは、自分に失望してしまった。もうちょっとテストについて勉強してたくさん書くようにしよう。