【node.js】jestを使って単体テストできるまでの手順 | 瀬戸内の雲のように

【node.js】jestを使って単体テストできるまでの手順

Posted: 2020-05-17


スポンサーリンク

目次

背景

私は元々サーバエンジニアですが、一応railsやpythonの開発経験はあり、ちゃんと動くコードを書くことは一応できます。
そんな私の自己評価としてプロのプログラマーと一番大きな差は テストをしっかり行うこと(そのための経験や考え方) だと考えています。(要するに正常系しかテストしてない)

ということで、やや話は飛びますが今回はnode.jsで単体テストを実行できるようにするまでの手順をメモします。

 

今回使うモジュール

jest というモジュールを使います。 nodejs 単体テスト などでググると色々な記事が出てきましたが、このjestが一番良さそうだと感じました。

  • reactのテストに向いている(どちらもfacebookが開発)
  • モックも使える
  • カバレッジを出せる

※他のでもできるんだとは思いますが、使い勝手が良さそうだったのと記事が多そうだったので。

 

インストール手順

npmでインストールします。

$ npm install --save-dev jest

以下のような結果が帰ってくればOK。

npm WARN blog@1.0.0 No description

+ jest@26.0.1
added 300 packages from 184 contributors and audited 991 packages in 27.705s

テストするコードとテストされるコードの準備

今回テストされるコードはこちら

// hello.js
module.exports = function() {
  return "hello world";
};

テストするコードはこちら

// hello.test.js
const hello = require("./hello.js");

test("check hello", () => {
  expect(hello()).toBe("hello world");
});

 

package.jsonにテストを追記

package.jsonにテスト用のスクリプトの記述を追加します。

  "scripts": {
    "test": "jest" //ここを追記
  },

これで準備はOK。

 

テストの実行

では実際にテストを行ってみます。

$ npm run test

以下のような結果が帰ってくればOKです。

> blog@1.0.0 test
> jest

 PASS  ./hello.test.js
  ✓ check hello (4 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.546 s
Ran all test suites.

以上となります。


スポンサーリンク




コメント一覧


コメントを投稿する


お名前


コメント内容





TOP back