目的

本ドキュメント群は、bizlp-accounting-dev スプレッドシートの実データに基づき、 各 GAS 関数の入出力・期待値・異常系を定義する。

テストランナー (mas/900_test/901_test_runner.js) と連携し、 runAllTests() の実行結果を 90_test_results シートで検証する。

テスト自動実行プロトコル

Phaseテスト名前提条件操作期待結果検証ポイント
1RPA系テスト901_test_runner.js をルートに配置+clasp pushGASでrunAllTests()実行T1(HC), T5(SaaS), T6(CAPEX), T7(冪等性), T8(Pipeline) がPASS手動操作不要。T2/T3は承認済INV/消込STLがなければスキップ案内
2Action AテストPhase 1完了32タブでT1生成INV(EMP_0002)の請求ステータスを"承認済"に変更 → runAllTests()再実行T2(Action A) がPASS42タブにTRN生成、33タブにSTL自動作成
3Action B+マート更新Phase 2完了33タブでSTLに決済日入力+"消込済"に変更 → runAllTests()再実行T3(Action B), T4(マート更新) がPASSINV未決済残高=0、財務諸表の数値一致
4クリーンアップPhase 3全PASS901_test_runner.jsを削除+clasp push本番にテストコードなしgit commitgit push origin dev

テスト結果シート (90_test_results)

内容
AテストID
Bテスト名
C結果 (PASS/FAIL)
D期待値
E実際の値
F備考

テストID ↔ コード対応表

テストID接頭辞関連ファイル関連関数
T1-401_bat_rpa.jsgenerateHcInvoices
T2-403_subledger_engine.jsprocessInvoiceApprovals
T3-403_subledger_engine.jsprocessSettlementClearings
T4-6xx_datamart_*.jsbuildBudgetTrendDataMart
T5-401_bat_rpa.jsgenerateSaasInvoices
T6-401_bat_rpa.jsgenerateCapexInvoices
T7-401_bat_rpa.js全RPA関数 (冪等性)
T8-401_bat_rpa.jsgeneratePipelineInvoices

FAIL 時の調査手順

  1. 90_test_results の「期待値」列と「実際の値」列を比較
  2. テストID接頭辞から関連コードを特定
  3. CLAUDE.md のコーディング規約違反がないか確認
  4. git diff で最近の変更を確認
  5. 修正 → clasp pushrunAllTests() 再実行

補足: リポジトリ用 node --test のローカル実行 (ADR / lint ツール)

ADR・lint・ドキュメント生成系のスクリプトは Node 標準のテストランナー (node --test tests/*.test.mjs) で検証し、CI では adr-lint.yml 等が回す。上記の GAS 業務テストとは別系統。

既知の罠 — ENOSPC で出力が壊れる: 一時領域が枯渇する (No space left on device) と node --test の標準出力がキャプチャできなくなり、実際は緑でも「出力なし=失敗」と誤読しうる。出力をファイルへ逃がしてから pass/fail を読む:

node --test tests/foo.test.mjs > /tmp/test-out.log 2>&1
grep -iE "pass|fail" /tmp/test-out.log

再発が続くときは、不要な git worktree (git worktree list で確認・他セッションのものは消さない) や tmp/ の肥大が一時領域を圧迫していないか df -h で確認する。