먼저 단위 테스트 프레임 워크가 필요합니다. 과거에는 UnitTest ++ 및 Google Test 사용했습니다 . 전자는 매우 가벼우 며 후자는 더 기능적이지만 다소 성가시다. 그런 종류의 것이 필요한 경우 Google Mock 과 잘 통합 됩니다. 물론 다른 많은 옵션 이 있습니다 : UnitTest ++의 최종 저자가 작성한 이 목록 과 Wikipedia 를 참조하십시오 .
단위 테스트는 다양한 시나리오에서 특정 격리 된 독립적 인 코드 비트 ( "단위")를 강조하기 위해 집중 테스트를 작성하는 것입니다. 경우에 따라 모든 것을 단위 테스트 할 수는 있지만 일반적으로 100 % 적용 범위를 달성하는 것은 실용적이지 않으며, 특히 게임에서 매우 어려울 수 있습니다. 렌더러 출력을 단위 테스트하는 것이 의미가 있거나 유용하거나 "참"단위 테스트.
자동화 된 테스트가 자동화되지 않은 테스트보다 낫다는 것을 기억하는 것이 중요합니다. 따라서 테스트가 "진정한 단위 테스트"가 아니라는 사실을 지나치게 강조해서는 안되며 단순히 테스트 만한다는 것을 자랑스럽게 생각하십시오. 단위 테스트 프레임 워크는 일반적으로 패키징 테스트 및 실패보고 균일 성을위한 기능을 포함하기 때문에 느슨한 "비 단위"테스트를 빌드하는 데 유용합니다.
사용 가능한 프레임 워크 중 하나를 사용하여 이전 테스트를 부활시키고 테스트 프로젝트로 빌드하는 것이 좋습니다. 모든 것을 실행하는 수시로 (또는 릴리스 또는 통합 빌드의 일부로 자동 실행) 당신의 테스트. 예를 들어 테스트에서 감지 할 수있는 미묘한 버그를 발견 한 경우 나중에 추가 할 수있는 회귀를 포착하기 위해 하나를 추가 할 수 있습니다.
아마도 게임에서 단위 테스트가 가능한 하위 수준 유틸리티 코드라는 것을 알게 될 것입니다. 괜찮습니다. 파손되면 많은 상위 계층을 방해 할 수있는 기초 코드입니다.
코드베이스에 모든 작은 기능과 논리 게이트에 대한 테스트가 없다는 프로그래머의 연옥에 가지 않을 것이므로 테스트 작성에 필요한 것보다 더 많은 시간을 소비하지 마십시오. 처음부터 모듈을 작성하는 데 걸리는 것보다 모듈에 대한 테스트를 작성하는 데 더 열심히 생각하거나 훨씬 더 많은 시간을 소비해야하는 경우 시간이 낭비 될 수 있습니다. 단위 테스트 (일반적으로 테스트)는 모든 작업을 수행해야하는 번거 로움이 아니라 적절하게 사용하는 방법을 배우는 도구입니다.