クイックスタート(30〜60分)
このクイックスタートでは、本書の主題である「テストをガードレールとして機能させる」体験を、最小サンプルで再現します。
前提(ローカル環境)
- Node.js: 18 以上(
npmを利用) - Python: 3.11 以上(
pipを利用)
1. まずは成功する状態を確認する(main)
リポジトリルートで、サンプルのテストを実行します。
npm run test:examples
すべて成功することを確認します。
2. あえて失敗する状態を作る(演習用ブランチ)
演習用ブランチに切り替え、テストが失敗することを確認します。
このブランチはリポジトリにあらかじめ用意されています。もしローカルに存在しない場合は、先に git fetch --all を実行してから、以下のコマンドを試してください。
git switch exercise/discount-rounding-bug-v1
npm run test:examples
このブランチは「典型的な不具合(丸め処理の誤り)」を 意図的に入れた 版です。
3. 失敗から原因を特定する
失敗しているテストの観点は次の通りです。
- 1セントなどの小さな金額では、丸め処理の誤りが顕在化しやすい
- 仕様として「四捨五入(round half up)」を想定しているが、実装が切り捨てになっている
4. 修正して、テストを通す
この演習では、次の2つを修正対象とします。
examples/python/discount.pyexamples/node/src/discount.js
ポイントは「丸めのルールを、テスト(仕様)に合わせる」ことです。
修正後、再度テストを実行してすべて成功することを確認します。
npm run test:examples
5. main に戻す
演習が終わったら main に戻します。
git switch main
次に読む(本編への接続)
- テストを「戦略」として設計する: 第4章
- AI生成テストをレビューする観点: 第5章
- PR/CI の品質ゲートを最小構成で定義する: 第6章、付録A(A.4)