テスト初心者すぎる
テスト初心者すぎて悲しくなったので覚えるためにメモ。
beforeAll
とbeforeEach
beforeAll
とbeforeEach
の違いで詰まったりしてた。
boforeAll
とafterAll
はファイルの最初と最後にそれぞれ 1 回ずつ実行される。
と思ったけど、describe
の中で定義すれば「そのdescribe
ブロックの中で 1 回」実行するらしい。
beforeEach
とafterEach
は、test
の各ブロック(の前後)で実行される。
describe
の中でbeforeEach
とafterEach
を定義した場合はそのdescribe
ブロックの中のtest
だけに適用される。
mockClear
Jest mockClear(), mockReset(), mockRestore() の違い - Qiita
mockClear()
はmockFn.mock.calls
とmockFn.mock.instances
を初期化するだけ。
mockReset()
は上記に加えてmockImplementation
やmockReturnValue
に設定した実装や戻り値をすべてリセットする
mockRestore()
は、jest.spyOn
で作ったモックを戻す。つまりモックを破棄して、オリジナルの関数を呼ぶようになる。
まとめ
ここらへんすら曖昧だったとは、自分に失望してしまった。もうちょっとテストについて勉強してたくさん書くようにしよう。