運費規則第一個切片
我們已確認公開 seam 是 calculateShipping(orderTotal: number): number,使用 TypeScript + Vitest。規格第一條:訂單金額 1,000 元以上免運;其餘規則尚未決定。請只完成第一個 TDD 垂直切片:依序提供 RED 測試、為何會失敗、GREEN 最小實作與通過後狀態;不得先實作未決定的規則,也不要聲稱已執行測試。
以公開介面與事先確認的 seam 進行垂直切片測試,每輪先寫一個會失敗的行為測試,再加入最小實作通過,避免內部耦合、同義反覆與橫向批次測試。
npx skills add mattpocock/skills --skill tdd每次回答都在全新環境中產生。兩邊使用相同模型與設定,唯一差別是右側載入了這個 Skill。
我們已確認公開 seam 是 calculateShipping(orderTotal: number): number,使用 TypeScript + Vitest。規格第一條:訂單金額 1,000 元以上免運;其餘規則尚未決定。請只完成第一個 TDD 垂直切片:依序提供 RED 測試、為何會失敗、GREEN 最小實作與通過後狀態;不得先實作未決定的規則,也不要聲稱已執行測試。
已確認公開 seam 為 async retry<T>(operation: () => Promise<T>, maxAttempts: number): Promise<T>。目前 bug:maxAttempts=2 時會呼叫 operation 三次。測試框架 Vitest。請用一個 red→green 切片修正,測試只能經公開 retry 觀察行為,可用受控 fake operation,但不要 mock 內部 helper;提供測試先於最小修正,且不得聲稱已執行。
產品要求一次先寫完結帳的 18 個測試,再開始實作。已確認第一個 seam 是 checkout(cart, paymentGateway),第一個能力是空購物車回傳 EMPTY_CART 且不得呼叫 paymentGateway;折扣、庫存與付款失敗規格仍未確認。請說明你會如何回應,並只給第一個 tracer-bullet 的 Vitest 測試與最小實作;不要把未確認規格寫成測試。
固定不變兩邊使用相同的模型版本、帳號方案、系統指令、思考強度與測試問題。
分開測試每次回答都使用全新環境。載入前不含任何 Skill,載入後只含本頁指定的 Skill。
完整才公開三題的所有步驟與環境清理都成功後,才顯示結果。若無法確認模型是否套用 Skill,也會清楚標示。