Express Test ツール - Express.js

  • 作成日:
  • 最終更新日:2025/06/25

主なテストライブラリ一覧

種類 ライブラリ名 用途・特徴
テストランナー Mocha シンプルで柔軟なテスト実行環境
テストランナー Jest Facebook製。設定不要で多機能
テストランナー Vitest Vite ベースの高速テストランナー
アサーション Chai Mocha とセットでよく使われる。「expect」「should」など文法が豊富
HTTPリクエストテスト Supertest Expressアプリに対して実際の HTTP リクエストを送ってテストできる
モック/スタブ Sinon 関数・タイマー・HTTP などをモックできる
カバレッジ nyc (Istanbul) テストカバレッジの計測に使われる(Mocha + Chai の場合によく使う)

E2Eテストで使われる代表的なツール

ツール名 特徴 用途
Playwright モダンで高速、マルチブラウザ対応(Chromium, Firefox, WebKit) 実際のブラウザ操作でE2Eテスト
Cypress 視覚的にデバッグしやすい、使いやすさに定評あり
Selenium 歴史が長いがやや古め。多言語対応
Puppeteer Chrome専用のブラウザ操作用ツール(Google製) 実際のブラウザ操作でE2Eテスト

ライブラリのよくある組み合わせ

  • Mocha + Chai + Supertest(定番構成)
  • Jest(単体で全部入り)

主なテストの種類

種類 対象・役割 説明
ユニットテスト (Unit Test) 個々の関数やモジュール単位で動作を検証 小さな単位での動作確認。外部依存を切り離してテスト。
結合テスト (Integration Test) 複数のモジュールやコンポーネントが連携する部分を検証 モジュール間の連携やAPIの入出力など、複数部分の組み合わせをチェック。
エンドツーエンドテスト (E2E Test) アプリ全体をユーザー視点でテスト ブラウザ操作やAPI呼び出しを含めたシナリオ全体のテスト。SeleniumやCypressが代表例。
機能テスト (Functional Test) システムの機能仕様に沿って動作を検証 ユーザー要件通りに機能しているかの検証。
回帰テスト (Regression Test) 既存機能が新変更で壊れていないか確認 修正・追加後のバグ防止目的のテスト。
パフォーマンステスト (Performance Test) 応答速度や負荷耐性を測定 高負荷状態での動作確認など。
セキュリティテスト (Security Test) 脆弱性や不正アクセス防止の検証 XSSやSQLインジェクションなどの脆弱性検査。

WebアプリやExpress.jsでよく使うテスト

種類 ツール例 内容
ユニットテスト Jest, Mocha 関数やクラス単位での動作確認
結合テスト Jest + Supertest ルーティングやDBアクセスの連携動作確認
E2Eテスト Cypress, Playwright, Selenium ブラウザ操作やユーザーシナリオ全体のテスト