【jest】ユニットテストについて

  • 2021年9月30日
  • 2021年9月30日
  • 未分類

react-nativeで使えるテストツールでjestというものが比較的メジャーで

ガイドも豊富だったので試しに使ってみることにした。

jestって何って言われるとテストツールばりばり初学者の自分には答えがたい難題だったが

おおざっぱに答えると「ある関数の返り値が、期待したデータと一致するかどうか確かめる」

ためのテストツール。jestにはテストに必要な機能が一通り揃っていて、しかもめっちゃ

簡潔に書けるというもの。

自宅で作っているアプリがreact-nativeなので、この際テスト術を養うのも悪くないと思い

試しに入れてテストしてみることにした。

導入方法は以下の通り。

npmコマンドでパッケージをインストール

npm install –save-dev jest

例として二つの数の和が期待した値と同じかどうかチェックするテストを作ってみます。

アプリの直下にsum.jsというファイルを作ります。

function sum(a, b) {
  return a + b;
}
module.exports = sum;

作成したら、今度はtestフォルダの中にtestフォルダを作って中にApp-test.jsという名前の

ファイルを作ります。ソースコードは以下の通り。

import sum from '../sum';

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

test内のカッコでテスト判定を行います。なお、testを書き忘れてnpm testをすると

Your test suite must contain at least one testで煽られてエラーになります。

この中のexpectで比較テストをしています。tobeの中には1と2の合計の期待値が入っており、

この数字と一致しなかった場合はエラーとしてメッセージを表示します。

一番簡単な単体テストは以上。この他にもモック関数や非同期通信のテストもできるみたいです。

モック関数についてはまた後日コードの解説をします。わー、jest1年生は覚えることいっぱい。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG