javascript, web系

Jestとは

jestが何なのか知らなかったので調べました。Javascriptのテストフレームワークで、公式サイトによると、Babel, TypeScript, Node, React, Angular, Vueやその他に対応しているようです。

また公式サイトでは4つの特徴をあげています。
– zero config
– snapshots
– isolated
– great api

スナップショットテストというのをそもそも知らなかったのですが、初回テスト実行時に全アウトプットを(それらが正しければ)スナップショットとして保存しておき、次回以降それをテスト結果の期待値として利用するテスト手法のようです(参考)。Jestのドキュメンテーションにスナップショットテストについて書かれていましたが、これによると、UIのテストに使うと便利なようです。実行時にレンダリングされるUIコンポーネントをスナップショットとして保存してくれるので、次回実行時にUIが意図せず変わっていないかというのを簡単にテストできるようになります。確かにレンダリングされるhtmlをテストの期待値として手動で書いていくのはかなり骨が折れるのでテストケースを作るのをサボってしまいそうですよね。

インタラクティブ・スナップショットモードというのもあって、失敗したスナップショットを対話的に更新することが可能です。

その他個人的に良いと思ったことは、テストスイート実行時に前回失敗したテストを先に実行するという機能です。他のフレームワークで一般的なのかわかりませんが、失敗していた箇所を修正した後毎回そのテストにたどり着くまで待たなくて良いというのはとても便利そうです。

なんかJestの使い方などは公式ドキュメントとか他のわかりやすいサイトを見ましょう。

参考

Jest公式サイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です