Jest(ジェスト)
MetaがReact向けに開発したJavaScript/TypeScriptのテストフレームワーク。ゼロ設定で動作・スナップショットテスト・モック機能を標準搭載し、フロントエンドテストのデファクトスタンダード。
Jestとは?
Jestは、Metaが開発したJavaScript/TypeScript向けのテストフレームワークです。ゼロ設定で即座に使い始められ、スナップショットテスト・モック機能・コードカバレッジ計測を標準搭載しています。ReactはもちろんNode.jsのバックエンドテストにも広く使われます。
主な機能
| 機能 | 説明 |
|---|---|
| テストランナー | テストファイルを自動発見・並列実行 |
| アサーション | expect().toBe()等の直感的なAPI |
| モック | 関数・モジュール・タイマーのモック化 |
| スナップショット | UIコンポーネントの出力を記録・比較 |
| コードカバレッジ | テストがカバーしているコードの割合を測定 |
基本的なテストの書き方
// sum.js
export const sum = (a, b) => a + b;
// sum.test.js
import { sum } from './sum';
describe('sum関数', () => {
test('1 + 2 は 3 になる', () => {
expect(sum(1, 2)).toBe(3);
});
test('負の数も扱える', () => {
expect(sum(-1, -2)).toBe(-3);
});
});
よく使うマッチャー
expect(value).toBe(3) // 厳密一致
expect(value).toEqual({ a: 1 }) // オブジェクトの深い比較
expect(value).toBeTruthy() // truthy値
expect(fn).toHaveBeenCalled() // 関数が呼ばれたか
expect(value).toMatchSnapshot() // スナップショット一致
まとめ
Jestはフロントエンドテストのデファクトスタンダードです。TypeScriptプロジェクトではts-jestまたは@swc/jestと組み合わせて使います。テストを書く習慣はバグ発見コストを劇的に下げます。
関連する用語 (プログラミング)
全33件を見るIT用語: 型安全性(Type Safety)とは|TypeScriptが防ぐバグの種類
コンパイル時に型の不一致を検出する「型安全性」の概念と、JavaScriptからTypeScriptへの移行がなぜ有効なのかを解説。
WebAssembly(Wasm)
ブラウザ上でネイティブに近い速度で実行できるバイナリ命令形式。C・C++・Rustなどのコードをブラウザで動かすことができ、ゲーム・動画編集・CADなど計算負荷の高いWebアプリに使われる。
Web Components
ブラウザネイティブの技術でカプセル化された再利用可能なUIコンポーネントを作成する仕様。Custom Elements・Shadow DOM・HTML Templatesの3つの技術で構成され、フレームワーク非依存で動作する。
Vite(ヴィート)
Vue.jsの作者が開発した次世代フロントエンドビルドツール。ネイティブESモジュールを活用した超高速な開発サーバー起動とHMR(ホットモジュールリプレース)を実現する。
SPA(シングルページアプリケーション)
ページ遷移時にブラウザをリロードせず、JavaScriptで動的にコンテンツを更新するWebアプリのアーキテクチャ。React・Vue・Angularで実装されることが多い。
PHP
Webサイトの裏側(サーバー側)で動くシステムを作るために特化したプログラミング言語。WordPressのベースでもある。