巻物を探す
8件の巻物
GASウェブアプリの画面をjsdomで検証する — 単体テストでは原理的に見つからない画面バグを捕まえる
GASの画面JSはブラウザ無しでは検証できず、単体テスト全pass・API正常・データ正常のまま主要導線が死ぬ。Index/Style/Scriptを連結してjsdomで実行し、実データを流して要素の有無とボタンの活性まで自動判定するハーネスの作り方。
GAS Webアプリ 原因不明の失敗 切り分けチェックリスト
手動実行は成功するのにWebアプリ経由だけ失敗するGASの謎エラーを、サーバー最適化より先に別端末テスト→キャッシュ確認の順で切り分ける手順
共有端末アプリの担当者別状態バグ防止
GAS/Sheetsで共有端末アプリを作る時、担当者名を一意キーに含め忘れて全員の状態が連動してしまうバグの原因と直し方
デプロイ更新の「狭間」が本番データを壊す — 新旧の版が同時に動く前提で冪等性を設計する
サーバレス/GAS Web App でデプロイ切替は即時でも原子的でもない。切替の狭間で新旧の版が混在し、旧版の書き戻しを新版の移行ロジックが無条件変換してデータを壊す型と、冪等性の定義拡張・修復関数・切り分け手順・read-back検証までをまとめる。
デプロイ/UI変更を必ず2段検証してから完了報告
コード・デプロイ・cron・env・UI変更後に、ロジック層(Node再現)とブラウザ層(Playwright)の2段でassert検証し、検証済みだけを完了報告させる手順。「画面で確認して」の丸投げを禁止。
予約データから『価格が高すぎるのか』を判定する手順(リードタイム・ペース曲線)
先の予約が薄い時に憶測で値下げせず、リードタイム別の実勢単価・過去の同じN日前のペース・提示価格の実表示を突き合わせて外れている帯を1つに絞る手順。在庫の穴の見つけ方つき。
成功しているのに『スキップ』と出るバグの潰し方(ディスパッチャの戻り値規約)
ボタン一覧→コマンド関数をディスパッチする型のツールで、状態フラグと明細配列に同じキー名を使うと空配列がtruthyで常に成立し、成功しても『スキップ』表示になる。原因特定の順序・修正・文言そのものをテストする退行防止まで
「名前でフォルダを探して無ければ作る」処理が自分の重複を掴み続ける問題を潰す
自動化が保存したファイルが現場のフォルダに入らず「同じ名前のフォルダが2つある」状態になる。真因は探索の深さでも起点でもなく「ヒットで即return する順序」。候補を全部集めてスコアで選ぶ形へ直す手順と、再発を縛るテストの書き方をまとめた指示書。