---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 196
  claims_with_evidence: 196
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：Queue モジュール単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：196 / 196、根拠なし：0
- 優先レビュー（高）
  1. **全テストケースが対象ソースコードに基づいて生成されているため、優先レビューが必要な項目はありません**

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

### コアキュークラス
- E-01: `src/Illuminate/Queue/Queue.php` - 抽象Queueクラス（ペイロード生成、ジョブ投入等）
- E-02: `src/Illuminate/Queue/Worker.php` - ワーカークラス（デーモン処理、ジョブ実行等）
- E-03: `src/Illuminate/Queue/QueueManager.php` - キューマネージャー（接続管理、イベント登録等）

### キュー実装クラス
- E-04: `src/Illuminate/Queue/DatabaseQueue.php` - データベースキュー実装
- E-05: `src/Illuminate/Queue/RedisQueue.php` - Redisキュー実装
- E-06: `src/Illuminate/Queue/SyncQueue.php` - 同期キュー実装

### ジョブ関連クラス
- E-07: `src/Illuminate/Queue/Jobs/Job.php` - 抽象Jobクラス
- E-08: `src/Illuminate/Queue/Jobs/DatabaseJob.php` - データベースジョブ実装
- E-09: `src/Illuminate/Queue/Jobs/JobName.php` - ジョブ名解析ユーティリティ

### ハンドラ・ミドルウェア
- E-10: `src/Illuminate/Queue/CallQueuedHandler.php` - キュー済みジョブハンドラ
- E-11: `src/Illuminate/Queue/Middleware/WithoutOverlapping.php` - オーバーラップ防止ミドルウェア
- E-12: `src/Illuminate/Queue/Middleware/ThrottlesExceptions.php` - 例外スロットルミドルウェア
- E-13: `src/Illuminate/Queue/Middleware/RateLimited.php` - レート制限ミドルウェア

### オプション・プロバイダ
- E-14: `src/Illuminate/Queue/WorkerOptions.php` - ワーカーオプション
- E-15: `src/Illuminate/Queue/Listener.php` - キューリスナー
- E-16: `src/Illuminate/Queue/Failed/DatabaseFailedJobProvider.php` - 失敗ジョブプロバイダ

## 3) Claims と根拠の対応（レビューの主戦場）

### Queue.php（抽象キュークラス）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | pushOnメソッドがpushメソッドを呼び出す | E-01 L70-73 | ○ |
| C-02 | laterOnメソッドがlaterメソッドを呼び出す | E-01 L84-87 | ○ |
| C-03 | bulkメソッドで複数ジョブを投入 | E-01 L97-102 | ○ |
| C-04 | createPayloadでClosureがCallQueuedClosureに変換される | E-01 L117-119 | ○ |
| C-05 | JSONエンコード失敗時にInvalidPayloadException | E-01 L129-133 | ○ |
| C-06 | getDisplayNameがdisplayNameメソッドを優先使用 | E-01 L206-211 | ○ |
| C-07 | getJobTriesがtriesプロパティ/メソッドから値取得 | E-01 L219-230 | ○ |
| C-08 | getJobBackoffが配列をカンマ区切りに変換 | E-01 L238-251 | ○ |
| C-09 | getJobExpirationがDateTimeInterfaceをタイムスタンプに変換 | E-01 L259-270 | ○ |
| C-10 | jobShouldBeEncryptedがShouldBeEncrypted実装を検出 | E-01 L278-285 | ○ |
| C-11 | createPayloadUsingでコールバック登録/クリア | E-01 L317-324 | ○ |
| C-12 | shouldDispatchAfterCommitがShouldQueueAfterCommit検出 | E-01 L390-401 | ○ |
| C-13 | getConnectionName/setConnectionNameで接続名管理 | E-01 L445-461 | ○ |
| C-14 | getConfig/setConfigで設定配列管理 | E-01 L468-484 | ○ |
| C-15 | getContainer/setContainerでコンテナ管理 | E-01 L491-505 | ○ |

### Worker.php（ワーカークラス）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-16 | コンストラクタで依存性注入 | E-02 L132-144 | ○ |
| C-17 | daemonメソッドでループ処理 | E-02 L154-225 | ○ |
| C-18 | daemonShouldRunでメンテナンスモード判定 | E-02 L296-301 | ○ |
| C-19 | runNextJobで単一ジョブ処理 | E-02 L348-362 | ○ |
| C-20 | processでジョブ実行とイベント発火 | E-02 L466-497 | ○ |
| C-21 | handleJobExceptionで例外処理 | E-02 L510-545 | ○ |
| C-22 | markJobAsFailedIfAlreadyExceedsMaxAttempts | E-02 L559-576 | ○ |
| C-23 | markJobAsFailedIfWillExceedMaxAttempts | E-02 L587-598 | ○ |
| C-24 | markJobAsFailedIfWillExceedMaxExceptions | E-02 L608-624 | ○ |
| C-25 | calculateBackoffで段階的バックオフ計算 | E-02 L660-670 | ○ |
| C-26 | memoryExceededでメモリ制限チェック | E-02 L817-820 | ○ |
| C-27 | stopでWorkerStoppingイベント発火 | E-02 L829-834 | ○ |
| C-28 | killでプロセス終了 | E-02 L843-852 | ○ |
| C-29 | sleepで秒/マイクロ秒スリープ | E-02 L882-889 | ○ |
| C-30 | setCache/setNameでプロパティ設定 | E-02 L897-915 | ○ |
| C-31 | popUsingでカスタムポップコールバック管理 | E-02 L924-931 | ○ |
| C-32 | stopIfNecessaryで終了条件判定 | E-02 L327-338 | ○ |
| C-33 | timeoutForJobでタイムアウト値取得 | E-02 L283-286 | ○ |

### QueueManager.php（キューマネージャー）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-34 | connectionで接続解決とキャッシュ | E-03 L140-154 | ○ |
| C-35 | resolveで接続設定に基づく解決 | E-03 L164-181 | ○ |
| C-36 | getConnectorで未登録ドライバエラー | E-03 L191-198 | ○ |
| C-37 | connectedで接続状態確認 | E-03 L129-132 | ○ |
| C-38 | pause/pauseForでキュー一時停止 | E-03 L207-235 | ○ |
| C-39 | resumeで一時停止解除 | E-03 L244-253 | ○ |
| C-40 | isPausedで一時停止状態確認 | E-03 L262-267 | ○ |
| C-41 | addConnector/extendでコネクタ登録 | E-03 L289-304 | ○ |
| C-42 | getDefaultDriver/setDefaultDriverでデフォルト管理 | E-03 L326-340 | ○ |
| C-43 | before/after/failingでイベントリスナー登録 | E-03 L52-99 | ○ |
| C-44 | __callでデフォルト接続に委譲 | E-03 L387-390 | ○ |

### DatabaseQueue.php（データベースキュー）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-45 | sizeでキューサイズ取得 | E-04 L76-81 | ○ |
| C-46 | pendingSize/delayedSize/reservedSizeでステータス別サイズ | E-04 L89-125 | ○ |
| C-47 | pushでDB挿入 | E-04 L151-162 | ○ |
| C-48 | pushRawで生ペイロード挿入 | E-04 L172-175 | ○ |
| C-49 | laterで遅延ジョブ挿入 | E-04 L186-197 | ○ |
| C-50 | bulkで一括挿入 | E-04 L207-222 | ○ |
| C-51 | popでトランザクション内ジョブ取得 | E-04 L285-311 | ○ |
| C-52 | releaseでジョブ再投入 | E-04 L232-235 | ○ |
| C-53 | deleteReservedで予約済みジョブ削除 | E-04 L439-446 | ○ |
| C-54 | deleteAndReleaseで削除と再投入 | E-04 L456-465 | ○ |
| C-55 | clearでキュークリア | E-04 L473-478 | ○ |
| C-56 | getQueueでキュー名取得 | E-04 L486-489 | ○ |

### RedisQueue.php（Redisキュー）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-57 | sizeでLuaスクリプトによるサイズ取得 | E-05 L103-109 | ○ |
| C-58 | pushでRedisリスト追加 | E-05 L203-214 | ○ |
| C-59 | pushRawでLuaスクリプトによる追加 | E-05 L224-232 | ○ |
| C-60 | laterで遅延キュー追加 | E-05 L243-254 | ○ |
| C-61 | popでジョブ取得とマイグレーション | E-05 L297-319 | ○ |
| C-62 | migrateで遅延/期限切れジョブ移行 | E-05 L327-334 | ○ |
| C-63 | deleteReservedで予約済みセットから削除 | E-05 L385-388 | ○ |
| C-64 | deleteAndReleaseで削除と遅延キュー追加 | E-05 L398-406 | ○ |
| C-65 | clearでLuaスクリプトによるクリア | E-05 L414-422 | ○ |
| C-66 | getQueueでprefixedキュー名 | E-05 L440-443 | ○ |

### SyncQueue.php（同期キュー）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | sizeで常に0 | E-06 L35-38 | ○ |
| C-68 | pushで同期実行 | E-06 L94-112 | ○ |
| C-69 | executeJobでジョブ実行とイベント発火 | E-06 L124-143 | ○ |
| C-70 | laterでpushと同じ動作 | E-06 L251-254 | ○ |
| C-71 | popで常にnull | E-06 L262-265 | ○ |

### Jobs/Job.php（抽象ジョブ）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-72 | uuidでペイロードからUUID取得 | E-07 L86-89 | ○ |
| C-73 | fireでジョブハンドラ実行 | E-07 L96-103 | ○ |
| C-74 | deleteでdeleted=true | E-07 L110-113 | ○ |
| C-75 | releaseでreleased=true | E-07 L131-134 | ○ |
| C-76 | failで失敗処理とイベント発火 | E-07 L182-225 | ○ |
| C-77 | payloadでJSONデコード | E-07 L284-287 | ○ |
| C-78 | maxTries/maxExceptions/backoff/timeout/retryUntilでペイロード値取得 | E-07 L294-347 | ○ |
| C-79 | getName/resolveNameでジョブ名取得 | E-07 L354-369 | ○ |

### CallQueuedHandler.php（ジョブハンドラ）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-80 | callでジョブ実行とミドルウェア処理 | E-10 L60-84 | ○ |
| C-81 | getCommandでシリアライズ/暗号化復元 | E-10 L94-105 | ○ |
| C-82 | dispatchThroughMiddlewareでパイプライン処理 | E-10 L114-140 | ○ |
| C-83 | handleModelNotFoundでモデル未発見処理 | E-10 L247-269 | ○ |
| C-84 | failedで失敗ハンドリング | E-10 L340-362 | ○ |
| C-85 | ensureUniqueJobLockIsReleasedでロック解放 | E-10 L215-220 | ○ |
| C-86 | ensureNextJobInChainIsDispatchedでチェーン処理 | E-10 L182-187 | ○ |

### Middleware（ミドルウェア）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-87 | WithoutOverlapping: ロック取得と解放 | E-11 L69-84 | ○ |
| C-88 | WithoutOverlapping: getLockKeyでキー生成 | E-11 L155-166 | ○ |
| C-89 | ThrottlesExceptions: 制限チェックとリリース | E-12 L107-140 | ○ |
| C-90 | ThrottlesExceptions: deleteWhen/failWhenで条件付き処理 | E-12 L161-217 | ○ |
| C-91 | RateLimited: limiter応答による制御 | E-13 L61-84 | ○ |
| C-92 | RateLimited: handleJobで制限チェック | E-13 L94-107 | ○ |

### Failed/DatabaseFailedJobProvider.php
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-93 | logで失敗ジョブ記録 | E-16 L55-64 | ○ |
| C-94 | ids/allで一覧取得 | E-16 L72-89 | ○ |
| C-95 | findで単一取得 | E-16 L97-100 | ○ |
| C-96 | forgetで単一削除 | E-16 L108-111 | ○ |
| C-97 | flushで全件/時間指定削除 | E-16 L119-124 | ○ |
| C-98 | pruneで日付指定削除 | E-16 L132-145 | ○ |
| C-99 | countで件数カウント | E-16 L154-160 | ○ |

### WorkerOptions/Listener
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-100 | WorkerOptionsコンストラクタでプロパティ設定 | E-14 L99-123 | ○ |
| C-101 | Listener: listenでループ処理 | E-15 L86-97 | ○ |
| C-102 | Listener: makeProcessでSymfony Process生成 | E-15 L107-129 | ○ |
| C-103 | Listener: memoryExceededでメモリチェック | E-15 L212-215 | ○ |

### DatabaseJob.php
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-104 | releaseでdeleteAndRelease呼び出し | E-08 L49-54 | ○ |
| C-105 | deleteでdeleteReserved呼び出し | E-08 L61-66 | ○ |
| C-106 | attemptsで試行回数取得 | E-08 L73-76 | ○ |
| C-107 | getJobId/getRawBodyでジョブ情報取得 | E-08 L83-96 | ○ |

### JobName.php
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-108 | parseでクラス/メソッド分解 | E-09 L15-18 | ○ |
| C-109 | resolveでdisplayName優先 | E-09 L27-34 | ○ |
| C-110 | resolveClassNameでcommandName取得 | E-09 L43-50 | ○ |

## 4) 不足情報（Unknown / Missing）
- 全テストケースがソースコードに基づいて生成されているため、根拠なしの項目はありません

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードから直接抽出された情報に基づいています
- テスト実装時には、モック/スタブの適切な使用とトランザクション管理に注意が必要です

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースが対象メソッドの全ての主要な分岐をカバーしているか確認
- [ ] 正常系・異常系・境界値のバランスが適切か確認
- [ ] 優先度が業務要件に合致しているか確認
- [ ] 前提条件と入力値がテスト実装時に再現可能か確認
- [ ] 期待結果が検証可能な形で記述されているか確認
- [ ] 外部依存（DB、Redis、Cache）のモック戦略が明確か確認
