JavaScriptの人気テストフレームワークJest

develop/JavaScript
概要

JavaScriptで人気のテストフレームワークのJestについて調査したので整理します。GNU social本体で部分的に使用されているJavaScriptやQvitterの開発・修正で活用したいと考えています。

Jest · ? Delightful JavaScript Testing」が公式サイトです。「Getting Started · Jest」がチュートリアルとなっていますので、これを参考に使用方法を学習します。

設置

まず以下のコマンドでJestを設置・インストールします。

npm install -D jest

npm installのオプションの意味 | GNU social JP」で紹介した通り、これでpackage.jsonのdevDependenciesにJestの依存関係が追加されます。npm install –productionやNODE_ENV=productionの場合にはインストールされません。

基本

Jestではテストを記述したファイルはtest.jsの拡張子にします (Configuring Jest · Jest)。こうすることで、Jestが自動的にテスト対象を見つけてテストコードを実行してくれます。デフォルトである程度うまく動作するような作りのようです。

試しに加算を行う単純な関数を試験します。

// sum.js
export {sum}

function sum(a, b) { return a + b; } // module.exports = sum;
// sum.test.js
import {sum} from './sum.js'
test('adds 1 + 2 to equal 3', () => { expect(sum(1, 2)).toBe(3); });

Jestのサンプルコードだとmodule.exportsを使っています。見知らぬオブジェクトだったので調べたところ、これはnode.jsの組み込みオブジェクトでした (Modules | Node.js v8.17.0 Documentation)。node.jsを使っていないプロジェクトもあるので、ES2015のexport/import文に差し替えました (JavaScriptのexport/import文 | GNU social JP)。

最後にpackage.jsonに以下を追加します。

残り4662文字。続きはSilver/Gold会員限定。

Free=0/Bronze=220/Silver=1100/Gold=1980円。

会員登録 (About Member)

Comments

Ads Blocker Image Powered by Code Help Pro

広告ブロッカー検知/Ads Blocker Detected

このサイトは会費と広告で運営されています。[Bronze=月220円以上に登録] するか、広告ブロッカーを無効にしてください。

This site is operated by membership and advertise. Please [register at least Bronze=220 JPY/month], or disable ads blocker.

Copied title and URL