Claude Code実務開発コース ・ 第6講
何を壊してはいけないかを、先に書く。
テストは、未来の自分への申し送り。
直すたびに、
こわい。
直したら、別のところが壊れることもある。
そのたびに全部を手で確かめるのは、大変です。

テストは、壊さないための安全網。直すたびに走らせ、緑なら壊していない。
「直前と同じ問題は、続けて出さない」
同じ番号が続けて出たら、アウトにする
第3講の完成条件=あとで採点できる線。テストは、その採点を自動でやるもの。1行が、テスト1本になる。
test('直前と同じ問題を出さない', () => { const prev = 2; const next = pickNextIndex(prev); assert.notEqual(next, prev); // 同じならアウト });
中身が分からなくていい。「何を守るか」が日本語で書いてあれば十分。
> npm test pickNextIndex がまだ無いので、失敗。← これでいい > 直前と同じ問題を出さない pickNextIndex を足して。test が緑になるように。 ✓ 実装。npm test → 全部 緑。壊していない。
先に書いて失敗させ、それから緑にする。
テスト設計は頭を使う作業。考えるモデルに高めのエフォートで。常に最大にはしない。
テストは、
未来への申し送り。
「ここは壊すな」を、未来の自分とAIに向けて書いたもの。
申し送りがあるから、安心して直せる。
今日のまとめ
緑なら、
壊していない
直したあと npm test。緑なら、前の機能を壊していない。
この安全網があるから、次の第7講で、まとまった機能を任せられます。
安全網があるから、手綱を少し緩められます。
今日の持ち帰り
先に、
壊すなを書く。
完成条件をテストにする。先に失敗させ、それから緑に。深い作業は、深いエフォートで。