岡野です。
私は今までExcelで試験書を作成し、実施して結果をExcelの試験書に書き込むということが多かったのですが、昨今はテストフレームワークを使用することが多いと感じます。
そこで今回はテストフレームワークのひとつである、Jestを使ってみたいと思います。
本記事は**Jest公式のGetting Started**のやってみた記事になります。
やってみた感想から
以下、個人的な感想です。
Excelの試験書とテストフレームワークでの試験、どちらが効率的かと言われると、
- 試験書作成の初期コストの面ではExcelでの試験書は試験の観点さえ押されば誰でも作成できますが、テストフレームワークはExcelに比べてお作法等、覚えることが多いのでExcelの方が初期コストはよいのかなと思います。
- テストの実施効率についてはExcelの試験書は作成したらデバッグや画面ポチポチ等、基本手動ですが、テストフレームワークは一度作成してしまえばコマンド一つで何度でも実施可能です。
- 一度作成した試験の流用性の面ではどちらも同等かと思います。
-
総合的に見ると
- コーディングの流れで試験も作成・実施できるので、品質上がりそう
- 新人さんがよくやるテスター作業の中でコーディングできるので勉強にもなる。
とか考えると、テストフレームワークは導入した方がよいのかなと思います。ただ、テストをテストフレームワークで実施することを意識したコーディングが必要になるかもしれません。
Jestを使ってみる
Jestを試す環境(ディレクトリ)作成
Jestのインストール
pacakge.jsonを編集
以下をpackage.jsonに以下の追記します。
追記するとこんな感じになります。
テスト対象のコード作成
以下のコードファイルを作成します。
引数で2つの数値を受け取り、加算する処理ですね。
ファイル名:sum.js
Jestでテストコードを作成
ファイル名:sum.test.js
ちなみに**.toBe()の部分をMatcher(マッチャー)**と言います。
テスト実行
現在のディレクトリ構成はこんな感じです。
それではテストを実行してみましょう。
yarn test
でテスト実行可能です。
テスト実行成功です!
思ったよりも簡単ですね。
いろんなMatcher
テスト対象のメソッドをexpect
で実施する際、メソッドの結果に対してMatcherで評価するのですが、Jestには多くのMatcherが準備されています。
主要なMatcherを確認したい場合はこちらをご確認ください。
すべてのMatcherを確認したい場合はこちらをご確認ください。
最後に
今回は入門ということでJest公式サイトのGetting Startedを実施しましたが、Jestには非同期処理とモック機能があります。
いずれ、このあたりも記事にしたいと思います。