概要
Approval Tests は、Dart におけるテストアプローチで、出力を承認された参照ファイルと比較して検証します。ApprovalTests パターンにインスパイアされており、JSON、HTML、ログなどの複雑または構造化されたデータのテストを、期待される出力を自動的にキャプチャおよび検証することで簡素化します。開発者は出力を生成するテストを書きますが、その後レビューされ「承認」されます。将来のテスト実行では、新しい出力を承認されたバージョンと比較し、差異を警告します。統合テストやエンドツーエンドテストでのボイラープレートの削減に特に役立ちます。
用途
- JSON や HTML のような複雑な出力を検証する
- UI スナップショットの検証
- API応答のテスト
- リグレッションテストの自動化
- ログ出力のレビュー
主な機能
- 自動出力承認ワークフロー
- 複数の出力形式をサポートしています
- 既存のテストスイートとの簡単な統合
- 変更のビジュアル差分
- 最小限のコードでシンプルなセットアップ
適している対象
- 構造化データを扱っているテスト担当者
- リグレッションテストを使用するチーム
- 低メンテナンスなテスト検証を求める開発者
- 頻繁な出力変更を伴うプロジェクト
- 信頼性のある出力チェックを必要とするCI/CDパイプライン
注意事項
- 最初の実行出力の手動承認が必要です
- ファイルベースのストレージはリポジトリのサイズを増加させる可能性があります
- 非常に動的またはランダムなデータには適していません
- 共有CI環境では注意深く取り扱う必要がある
- マージする前に承認を確認する必要があります