# ER図

## 概要

本ドキュメントは、Jestプロジェクトのエンティティ関連図（ER図）を記載するものです。

**結論: 本プロジェクトにはデータベースが存在しないため、ER図は該当しません。**

## ER図

```mermaid
erDiagram
    %% Jestプロジェクトにはデータベースが存在しないため、
    %% ER図で表現すべきエンティティはありません。

    %% 参考情報として、Jestの主要な概念を記載します
    %% （これはデータベースエンティティではありません）

    TestSuite ||--o{ TestCase : contains
    TestCase ||--o{ Assertion : has
    TestCase ||--o| Snapshot : generates

    TestSuite {
        string name "テストスイート名"
        string filePath "テストファイルパス"
    }

    TestCase {
        string description "テストケース説明"
        string status "実行結果"
        number duration "実行時間(ms)"
    }

    Assertion {
        string matcher "マッチャー名"
        boolean passed "成功/失敗"
        string expected "期待値"
        string received "実際の値"
    }

    Snapshot {
        string key "スナップショットキー"
        string content "スナップショット内容"
        string filePath ".snapファイルパス"
    }
```

## 補足説明

上記の図は、Jestの概念的な構造を示したものであり、データベーステーブルの関係を示すER図ではありません。

### Jestの概念構造

| 概念 | 説明 | データ形式 |
| --- | --- | --- |
| TestSuite | テストファイル単位のテスト群 | メモリ内オブジェクト |
| TestCase | 個別のテストケース（`it`/`test`ブロック） | メモリ内オブジェクト |
| Assertion | アサーション（`expect`呼び出し） | メモリ内オブジェクト |
| Snapshot | スナップショットテストの結果 | `.snap`ファイル |

これらのデータはすべてテスト実行時にメモリ上で管理され、スナップショットのみがファイルシステムに永続化されます。

## 備考

Jestがデータベースを使用しない理由:

1. **テストフレームワークの性質**: テストの実行ごとにクリーンな状態が必要であり、永続化されたデータベースは不要
2. **ポータビリティ**: データベース依存を排除することで、どの環境でも同一の動作を保証
3. **パフォーマンス**: メモリ内処理により高速なテスト実行を実現
4. **シンプルさ**: 外部依存を最小化することで、インストールと設定を簡素化
