TDD를 사용하여 테트리스 게임을 구현하려고합니다.테스트 주도 개발을 사용할 때 테트리스에 대한 수락 테스트
Growing Object-Oriented Software, Guided by Tests을 읽었을 때 내가 이해할 수있는 것으로부터, 나는 수락 테스트가 무엇인지 정의해야합니다. 내가 맞다면, TDD를 할 때 Acceptance tests는 Use Cases와 같이 정의됩니다.
앱의 "해골"로 작동 할 수있는 우수한 수락 테스트를 정의하는 것이 매우 중요하므로 간단해야합니다.
나는 구현하기 위해 처음으로 다음이 개 입학 시험을 선택이 끝난했습니다
- 게임의 시작과 플레이어를 닫습니다.
- 게임이 시작되고 플레이어가 아무 것도하지 않습니다. 그는 결국 잃는다.
이 2 가지 인수 테스트는 좋은 테스트입니까? 다음에 받아 들여지는 테스트는 무엇이 좋을까요? 나는 무엇이든을 생각할 수 있었다
- 게임은 시작하고 정사각형 조각 만 떨어 뜨린다. 플레이어는 줄을 항상 "폭발"시키므로 100 개의 게임 단계가 끝난 후에도 게임을 끝내게 만듭니다.
그러나 나는 이것이 진짜 테트리스 게임에서 당신이 항상 떨어지는 다른 조각을 가지고있는 것처럼 어색하다고 느낍니다. 그것은 받아 들일 시험이 있어야하는 것입니다.
또한 (2)를 할 때 한 번에 모든 것을 구현하려고하는 유혹을 느낍니다. 두 번째 수락 테스트를 구현할 때 하나도 가장하지 않는다고 생각합니다. 내 생각에 그 게임은 6-7 세 이후에 구현 된 것일뿐 두 번째 게임에서는 구현되지 않습니다. 내가 맞습니까?
감사합니다.
번호 48의 출처가 확실하지 않습니다. 또한 두 번째 시나리오에서 주어진 구문은 "전체 10x2 필드 제공"이되어야합니까? – SCFrench
비즈니스 언어를 사용하기 위해 테트리스에 대한 Wikipedia 페이지를 살펴 보았습니다. 그것은 48 명이 나온 곳입니다. "완전한 10x2 필드"는 훌륭하지만 아주 현실적이지는 않습니다. 저는 테트리스를 약간의 시간 내내 연주했고, 전 분야를 결코 보지 못했습니다. –
TDD를 사용하는 방법을 이해하는 데 어려움이 있습니다. 테스트마다 코드를 실행할 수있는 최소한의 코드 만 있으면됩니다. 사용자가 지정한 시나리오를 구현해야합니다. 이미 테트리스 게임을 완벽하게 구현할 수는 있지만 이미 모든 것을 넣지 않고도 필요한 것을 구현하는 방법을 생각하기가 어렵습니다. –