Я хочу попробовать реализовать игру Tetris с помощью TDD.
Из того, что я понял, прочитав Развитие объектно-ориентированного программного обеспечения , Руководствуясь тестами, я должен начать с определения того, какими будут мои приемочные тесты. Если я прав, приемочные тесты при выполнении TDD определяются так же, как варианты использования.
Очень важно определить хороший первый приемочный тест, который будет работать как «каркас» приложения, поэтому он должен быть простым.
Я выбрал следующие 2 приемочных теста в качестве первых для реализации:
- Игра начинается, и Игрок закрывает ее.
- Игра начинается, и игрок ничего не делает. В конце концов он проигрывает.
Являются ли эти 2 приемочных теста хорошими начальными тестами? Какие были бы хорошие следующие приемочные испытания? Я мог бы подумать о чем-то вроде
- Игра начинается, и выпадают только квадратные фигуры. Игрок расставляет их все таким образом, что линии всегда «взрываются», из-за чего Игра после 100 игровых шагов еще не окончена.
но я чувствую, что это немного неловко, так как в настоящей игре «Тетрис» у вас всегда будут падать разные части, и это то, чем должно быть приемочное тестирование.
Кроме того, я чувствую искушение просто попытаться реализовать все за один раз при выполнении (2), что, я думаю, не притворяется при реализации второго приемочного теста. Думаю, идея заключалась бы в том, чтобы реализовать игру только после 6-7 из них, а не во время второго. Я прав?
Спасибо