概要
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に以下を追加します。
詳細プロフィール。SNS: X Twitter/GS=gnusocialjp@gnusocial.jp/WP=gnusocialjp@web.gnusocial.jp。2022-07-17からgnusocial.jpとweb.gnusocial.jpのサイトを運営しています。WordPressで分散SNSに参加しています。このアカウントの投稿に返信すると、サイトのコメント欄にも反映されます。
Comments