DEEP GUIDE 07
テストが守る約束を読む
成功例だけでなく、失敗・権限・帳簿の不変条件を見る。
このガイドで追う一件
送金 API が成功を返すテストだけでは、残高、仕訳、監査、失敗時のロールバックまで正しいか分かりません。何を追加で確認するかを整理します。
コードを読む順番
以下は MiniBank v1.0.0 の確認先です。マイグレーションは順に適用されるため、関数の最終形を調べるときは後続の変更も確認してください。
- 1
送金の成立条件を列挙する
送金元・送金先の残高、取引行、仕訳、監査記録が同じ一件に対応するかを確かめる観点を作ります。
確認するファイル
scripts/regression/suites/transfer.mjs - 2
帳簿の不変条件を確かめる
借方と貸方の釣り合い、追記専用の扱い、残高との関係を個別に検査します。
確認するファイル
scripts/regression/suites/ledger.mjs - 3
権限の境界を壊してみる
別の利用者や権限のない呼び出しを使い、APIとデータベースが拒否するかを見ます。
確認するファイル
scripts/regression/suites/privilege.mjs - 4
結果を読み過ぎない
通ったテストは、その入力と環境で確認できた条件の証拠です。通信切断や大量の同時実行など、未試験の条件まで保証したことにはなりません。
確認するファイル
scripts/regression/run-regression.mjs
失敗時・範囲外の確認
エラー応答だけを確かめても、途中で書き込まれた行が残っていないとは言えません。失敗後の取引行、仕訳、監査を調べる観点が必要です。
ここまでで説明できること
テスト名ではなく、守りたい条件と実際の検査箇所を対応付けて読めます。