Jestで始めるJavaScriptのテスト

概要

Jestを使ってJavaScriptのテストをかいてみる。

準備

jestとESModulesを使いたいのでbabel-preset-2015をインストールしておく。 (babel-jestはjestに用意されている。)

npm install --save-dev jest babel-preset-2015

.babelrcの中身はこんな感じ。

package.jsonはこんな感じ。

ディレクトリ構成はこんな感じ。 tree -a -I "node_modules"

テストファイルの作成方法については2パターンある。

  • __tests__という名前のディレクトリ以下に存在するファイルをテストファイルとするパターン
  • *.spec.jsまたは*.test.jsを拡張子とするファイルをテストファイルとするパターン

今回は後者の形式をとり、testディレクトリにテストファイルを設置する。

ネイティブのJavaScriptのテストをかいてみる

足し算引き算をする関数を実装する。

./src/native/calc.js

それぞれの関数が正しい計算結果を返すかテストする。 

./test/native/calc.test.js

describe(name, fn)は複数のテストをテストスイートしてグループ化したブロックを作成する。

テストを実行。 npm test ./test/native/calc.test.js

テスト結果。

ESModulesを使ったJavaScriptのテストをかいてみる

足し算引き算をするメソッドを実装したクラスを作成する。

./src/esmodules/calc.js

それぞれのメソッドが正しい計算結果を返すかテストする。 

./test/esmodules/calc.test.js

マッチャー

Jest - Expectを参照。

所感

初見でもわかりやすいようにjestのAPIは整理されていると思う。 ドキュメントも読みやすかった。 思ったよりも簡単にテストが始められたので、JavaScriptのテストを積極的に書いていきたい気持ち。

参考