TestRunner
🧩 정의
TestRunner 란?
Unity TestRunner는 Unity에서 EditMode와 PlayMode 테스트를 실행하고 관리하는 단위테스트 도구이다.
- 테스트를 자동화할 수 있다.
- Unity 환경에서 스크립트 동작을 검증할 수 있다.
- TDD 흐름에도 활용할 수 있다.
🧭 종류
PlayMode Test: 게임 실행 중 동작을 테스트한다.EditMode Test: 에디터 상태에서 스크립트 로직을 테스트한다.
⚙️ 환경 설정
Step 1 : TestRunner 윈도우 열기



Step 2 : Assembly Folder 생성
- 위 이미지의
Create EditMode Test Assembly Folder버튼을 선택해 테스트 폴더를 생성한다. EditMode용 Assembly Definition 파일도 함께 생성된다.

Step 3 : 테스트 스크립트에서 사용할 Assembly 생성
- 스크립트 폴더 아래에 생성한다.


Step 4 : EditTests Assembly Definition 파일에 Script Assembly Definition 파일 연결

🛠 테스트 스크립트 작성
스크립트 생성

Test Attribute
[SetUp]: 각 테스트 메서드 실행 전 초기화 작업[Test]: EditMode 테스트 메서드[UnitySetUp]: PlayMode 테스트 메서드 실행 전 초기화 작업[UnityTest]: PlayMode 테스트 메서드
PlayMode 테스트 스크립트 샘플
public class TestMoveOnePointToXPos
{
GameObject testObject;
[UnitySetUp]
public IEnumerator Setup()
{
testObject = new GameObject("testGameObject");
yield return null;
}
[UnityTest]
public IEnumerator TestMoveOnePointToXPos_MoveOneToX()
{
Vector3 expectedPos = new Vector3(1, 0, 0);
testObject.transform.position = Vector3.zero;
testObject.AddComponent<MoveOnePointToXPos>();
yield return null;
Assert.AreEqual(expectedPos, testObject.transform.position);
}
}
테스트를 실행하면 검증에 성공한다.
⚠️ 주의사항
- EditMode와 PlayMode는 실행 환경이 다르므로 테스트 목적에 맞게 선택해야 한다.
- PlayMode 테스트는
IEnumerator와yield return null을 자주 사용한다. - Assembly Definition 연결이 빠지면 테스트가 인식되지 않을 수 있다.
- 테스트 이름은 동작이 드러나도록 명확하게 짓는 편이 좋다.
📌 정리
- TestRunner는 Unity 테스트를 실행하는 기본 도구다.
- EditMode와 PlayMode로 나눠서 테스트를 구성할 수 있다.
- Assembly Definition 설정과 어트리뷰트 이해가 핵심이다.
댓글남기기