TDDを使ってテトリスゲームを実装してみたいです。
Growing Object-Oriented Software, Guided by Testsを読んで理解したことから、受け入れテストとは何かを定義することから始めるべきです。私が正しければ、TDD を行う際の受け入れテストは、ユース ケースと同じように定義されます。
アプリの「スケルトン」として機能する適切な最初の受け入れテストを定義することは非常に重要であるため、単純なものにする必要があります。
最初に実装するものとして、次の 2 つの受け入れテストを選択しました。
- ゲームが開始し、プレーヤーがゲームを閉じます。
- ゲームが開始され、プレイヤーは何もしません。彼は最終的に負けます。
これら 2 つの受け入れテストは開始テストとして適切ですか? 次の受け入れテストは何が良いでしょうか? 私は次のようなことを考えることができました
- ゲームが始まり、正方形のピースだけがドロップします。プレーヤーは、線が常に「爆発」するようにすべてを配置し、100 ゲームステップ後もゲームが終了しないようにします。
しかし、実際のテトリス ゲームでは常にさまざまなピースが落ちてくるので、これはちょっと厄介だと思います。それが受け入れテストの目的です。
また、(2) を行うときは、すべてを一度に実装しようとする誘惑に駆られますが、これは、2 番目の受け入れテストを実装するときにふりをすることではないと思います。アイデアとしては、2 回目ではなく、6 ~ 7 回のゲームの後にのみゲームを実装することになると思います。私は正しいですか?
ありがとう