概要

項目内容
案件IDMAS-098
カテゴリテスト
PhaseP1
優先度★★★
所要時間30分
対象ファイル900_test/901_test_runner.js
前提案件MAS-076(isDuplicate_ 冪等性バグ修正)

目的

MAS-076 の修正後、冪等性が回帰しないことを自動テストで担保する。テストランナーに「同一条件で2回実行→2回目は0件」の冪等性検証を追加する。

テスト仕様

テストケース: T9-IdempotencyGuard

#テスト名対象関数手順期待結果
T9-1SaaS冪等性generateSaasInvoices同一ターゲット月で2回実行2回目の戻り値が 0
T9-2HC冪等性generateHcInvoices同上同上
T9-3CAPEX冪等性generateCapexInvoices同上同上
T9-4Finance冪等性generateFinanceInvoices同上同上
T9-5Adhoc冪等性generateAdhocInvoices同上同上
T9-6Pipeline冪等性generatePipelineInvoices同上同上

実装方針

901_test_runner.js に以下のテスト関数を追加:

function testIdempotency_() {
  // 1回目: 通常実行(件数を記録)
  var count1 = generateSaasInvoices(TEST_TARGET_YM, true);
  
  // 2回目: 同一条件で再実行(0件であること)
  var count2 = generateSaasInvoices(TEST_TARGET_YM, true);
  
  addResult_('T9-1', 'SaaS冪等性', count2 === 0,
    '2回目=' + count2 + '件 (期待: 0件)');
}

注意事項

  • テストは _silent = true で実行し、UIダイアログを抑制する
  • 1回目の実行で生成されたINVは、テスト後にクリーンアップするか、テスト専用の対象月(過去月)を使用してデータ汚染を防ぐ
  • 既存のテストケース(T1〜T8)との干渉を避けるため、テスト実行順序に注意

関連ドキュメント

仕様書関連箇所
B.1 テスト概要・戦略テストランナーの設計方針、テストケース一覧(T1〜T8 に T9 を追加)
B.3 統合テスト手順統合テストの実行手順(Phase 1 の RPA テスト)
D.1 MAS-076 isDuplicate_ 冪等性バグ修正本テストの前提となるバグ修正
4.3.1 HC(人件費)T9-2 テスト対象
4.3.2 SaaS・サブスクT9-1 テスト対象
4.3.3 CAPEX(設備投資・借入)T9-3 テスト対象

人間が検討すべき事項

テスト対象のRPA関数の範囲(全6種 or 主要のみ)


変更履歴

日付変更内容
2026-04-14 10:33初版作成