21. Test Framework
왜 필요한가
Framework는 EditMode 201/201, PlayMode 7/7, Runtime Startup Validation 12/12를 통과한 상태로 RC를 유지한다. 이 신뢰도를 유지하려면 게임 코드도 동일한 테스트 습관을 따라야 한다.
언제 사용하는가
Game Layer에서 새 Controller/Service를 추가할 때, Framework 동작을 신뢰하고 그 위에 게임 로직 테스트를 작성할 때.
프로젝트에서 어떤 역할인가
Framework.Tests 어셈블리는 Runtime만 참조하며 InternalsVisibleTo로 Runtime 내부에 접근한다. 상세 작성 규칙과 실행 방법은 TestingGuide.md, 릴리즈 기준은 TestPolicy.md를 따른다 (이 문서는 "왜 테스트가 필요한가"만 다룬다).
실제 게임에서는 언제 호출되는가
CI/로컬에서 EditMode/PlayMode 테스트 실행 시, Tools > Framework > Test Report로 결과 확인 시.
Best Practice
Reflection을 테스트/프로덕션 코드에 사용하지 않는다 (Rules 원칙). Mock이 필요하면 인터페이스 기반으로 구성한다.
자주 하는 실수
- 테스트에서 Reflection으로 private 필드에 접근 (금지)
- Framework 테스트와 Game 테스트를 같은 어셈블리에 혼합
실습 과제
Framework.Tests구조를 참고해 Game 전용 테스트 어셈블리를 만들어본다.- 간단한 Controller 테스트를 하나 작성해본다.
이전 문서 / 다음 문서
이전: 20_Multiplayer.md 다음: 22_Best_Practice.md
관련 Sample
Editor/Validation/ValidationSample.cs