---
generated_at: 2026-02-18 10:30:00
metrics:
  claims_total: 34
  claims_with_evidence: 34
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：private-testing.csv

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：34 / 34、根拠なし：0
- 優先レビュー（高）
  1. なし - すべてのテストケースにソースコード上の根拠あり

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

- E-01: `private/testing/Get-TestConfig.ps1` - テスト設定取得関数
- E-02: `private/testing/Invoke-ManualPester.ps1` - Pesterテスト実行ヘルパー関数
- E-03: `private/testing/Invoke-ManualPester.ps1:103-139` - Get-CoverageIndications内部関数
- E-04: `private/testing/Invoke-ManualPester.ps1:141-147` - Get-PesterTestVersion内部関数
- E-05: `private/testing/Invoke-ManualPester.ps1:150-160` - Get-ModuleBase内部関数
- E-06: `private/testing/Invoke-ManualPester.ps1:162-166` - Write-DetailedMessage内部関数

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | UT-TST-001: ローカル設定ファイルが存在する場合に設定を読み込む | E-01 (L22-23: `if (Test-Path $LocalConfigPath) { . $LocalConfigPath }`) | ○ |
| C-02 | UT-TST-002: AppVeyor環境で環境変数から設定を構築 | E-01 (L24-60: `elseif ($env:AppVeyor)`) | ○ |
| C-03 | UT-TST-003: Codespaces環境で設定を構築 | E-01 (L61-71: `elseif ($env:CODESPACES -or ...)`) | ○ |
| C-04 | UT-TST-004: GitHub Actions環境で設定を構築 | E-01 (L72-86: `elseif ($env:GITHUB_WORKSPACE)`) | ○ |
| C-05 | UT-TST-005: デフォルト設定が常に含まれる | E-01 (L6-20: `$config = [ordered]@{...}`) | ○ |
| C-06 | UT-TST-006: ローカル設定ファイルが存在しない場合にデフォルト設定を返す | E-01 (L22: `if (Test-Path $LocalConfigPath)` の条件分岐) | ○ |
| C-07 | UT-TST-007: AppVeyor環境でInstanceSingle環境変数のみ設定されている場合 | E-01 (L27-47: 各環境変数を個別にチェック) | ○ |
| C-08 | UT-TST-008: 返却オブジェクトがPSCustomObject型 | E-01 (L88: `[pscustomobject]$config`) | ○ |
| C-09 | UT-TST-009: 存在するテストファイルパスでテストが実行される | E-02 (L254-261, L296-337) | ○ |
| C-10 | UT-TST-010: 部分的なテスト名でテストファイルが検索される | E-02 (L258-260: `Get-ChildItem -Path "$ModuleBase\tests\*$item*.Tests.ps1"`) | ○ |
| C-11 | UT-TST-011: PassThruスイッチ指定時にテスト結果オブジェクトが返却 | E-02 (L94, L302-304, L328) | ○ |
| C-12 | UT-TST-012: TestIntegrationスイッチで統合テストも実行 | E-02 (L95, L244-250, L310-312, L333-335) | ○ |
| C-13 | UT-TST-013: Coverageスイッチでコードカバレッジが計測 | E-02 (L96, L278-293, L306-309, L330-332) | ○ |
| C-14 | UT-TST-014: DependencyCoverageスイッチで依存関数のカバレッジも計測 | E-02 (L97, L285-293) | ○ |
| C-15 | UT-TST-015: ScriptAnalyzerスイッチでスクリプト解析が実行 | E-02 (L98, L341-346) | ○ |
| C-16 | UT-TST-016: Pester 5テストファイルの場合にPester 5で実行 | E-02 (L296-313), E-04 | ○ |
| C-17 | UT-TST-017: Pester 4テストファイルの場合にPester 4で実行 | E-02 (L314-337), E-04 | ○ |
| C-18 | UT-TST-018: Showパラメータで出力詳細度を制御 | E-02 (L93, L305, L318-324) | ○ |
| C-19 | UT-TST-019: Pesterがインストールされていない場合に警告 | E-02 (L192-196) | ○ |
| C-20 | UT-TST-020: PSScriptAnalyzerがインストールされていない場合に警告 | E-02 (L176-179) | ○ |
| C-21 | UT-TST-021: 存在しないテストパスを指定した場合に警告 | E-02 (L264-266: `Write-Warning "No tests to be run"`) | ○ |
| C-22 | UT-TST-022: Pesterバージョンが最小要件未満の場合に警告 | E-02 (L197-201) | ○ |
| C-23 | UT-TST-023: Pesterバージョンが最大要件を超える場合に警告 | E-02 (L202-206) | ○ |
| C-24 | UT-TST-024: Pathパラメータに複数のテストファイルを指定 | E-02 (L91, L254-261, L272) | ○ |
| C-25 | UT-TST-025: Pathパラメータが空の場合 | E-02 (L264-266) | ○ |
| C-26 | UT-TST-026: Get-CoverageIndications - テストファイルから対象関数と依存関数を抽出 | E-03 (L103-139) | ○ |
| C-27 | UT-TST-027: Get-CoverageIndications - 除外関数がカバレッジ対象から除外 | E-03 (L131: `if ($f -in ('Connect-DbaInstance', 'Select-DefaultView', 'Stop-Function', 'Write-Message'))`) | ○ |
| C-28 | UT-TST-028: Get-CoverageIndications - 存在しない関数のテストファイルの場合に空配列 | E-03 (L113-126, L138: `return @() + ($testpaths | Select-Object -Unique)`) | ○ |
| C-29 | UT-TST-029: Get-PesterTestVersion - Pester 5要件を含むファイルでバージョン5を返す | E-04 (L142-146) | ○ |
| C-30 | UT-TST-030: Get-PesterTestVersion - Pester 5要件を含まないファイルでバージョン4を返す | E-04 (L146: `return '4'`) | ○ |
| C-31 | UT-TST-031: Get-ModuleBase - モジュールルートディレクトリを正しく検出 | E-05 (L150-160) | ○ |
| C-32 | UT-TST-032: Get-ModuleBase - 10階層以上深いディレクトリからも検出 | E-05 (L152: `for ($i = 0; $i -lt 10; $i++)`) | ○ |
| C-33 | UT-TST-033: Write-DetailedMessage - ShowがNormal以上の場合にメッセージを出力 | E-06 (L163: `if ($Show -in @('Normal', 'Detailed', 'Diagnostic'))`) | ○ |
| C-34 | UT-TST-034: Write-DetailedMessage - ShowがNoneの場合にメッセージを出力しない | E-06 (L163: `if ($Show -in @('Normal', 'Detailed', 'Diagnostic'))` - Noneは含まれない) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - すべてのテストケースはソースコード上の実装に基づいて作成されています

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - すべてのテストケースに明確な根拠あり
- 注意点:
  - Invoke-ManualPester内の内部関数（Get-CoverageIndications, Get-PesterTestVersion, Get-ModuleBase, Write-DetailedMessage）はプライベートスコープのため、直接テストには工夫が必要
  - CI/CD環境固有のテストケース（AppVeyor、Codespaces、GitHub Actions）は実行環境の模擬が必要

## 6) レビュアーチェックリスト（最小）
- [ ] Get-TestConfig: 各CI/CD環境の設定値が実際の環境変数名と一致しているか確認
- [ ] Invoke-ManualPester: Pester v4/v5両方のテスト実行パスが正しく網羅されているか確認
- [ ] 内部関数のテスト方法（モック化、InModuleScope等）の設計が妥当か確認
- [ ] コードカバレッジ取得に関するテストケースが実際の動作と一致するか確認
