v1.0.0 の歴史資料当時の説明です。現在の仕様とは異なる箇所があります。現行版の対応記事 →資料一覧へ

DEEP GUIDE 07

テストが守る約束を読む

成功例だけでなく、失敗・権限・帳簿の不変条件を見る。

このガイドで追う一件

送金 API が成功を返すテストだけでは、残高、仕訳、監査、失敗時のロールバックまで正しいか分かりません。何を追加で確認するかを整理します。

コードを読む順番

以下は MiniBank v1.0.0 の確認先です。マイグレーションは順に適用されるため、関数の最終形を調べるときは後続の変更も確認してください。

  1. 1

    送金の成立条件を列挙する

    送金元・送金先の残高、取引行、仕訳、監査記録が同じ一件に対応するかを確かめる観点を作ります。

    確認するファイルscripts/regression/suites/transfer.mjs

  2. 2

    帳簿の不変条件を確かめる

    借方と貸方の釣り合い、追記専用の扱い、残高との関係を個別に検査します。

    確認するファイルscripts/regression/suites/ledger.mjs

  3. 3

    権限の境界を壊してみる

    別の利用者や権限のない呼び出しを使い、APIとデータベースが拒否するかを見ます。

    確認するファイルscripts/regression/suites/privilege.mjs

  4. 4

    結果を読み過ぎない

    通ったテストは、その入力と環境で確認できた条件の証拠です。通信切断や大量の同時実行など、未試験の条件まで保証したことにはなりません。

    確認するファイルscripts/regression/run-regression.mjs

失敗時・範囲外の確認

エラー応答だけを確かめても、途中で書き込まれた行が残っていないとは言えません。失敗後の取引行、仕訳、監査を調べる観点が必要です。

ここまでで説明できること

テスト名ではなく、守りたい条件と実際の検査箇所を対応付けて読めます。