Unity 패키지에 대한 테스트 추가 가이드
이 문서는 Unity에서 패키지를 생성하고, 테스트를 추가하는 방법에 대해 설명합니다. 패키지에 테스트를 추가하는 것은 소프트웨어 품질을 보장하기 위해 중요합니다. 아래에서 단계별로 과정을 간단히 설명합니다.
패키지에 테스트 추가하는 방법
패키지에 테스트를 추가하기 위해서는 다음 세 가지 단계를 수행해야 합니다:
- C# 테스트 파일 생성
- Tests 폴더에 C# 테스트 파일을 생성합니다.
- asmdef 파일 생성
- 테스트를 위해 패키지에 대한 asmdef 파일을 생성합니다.
- 테스트 활성화
- 프로젝트 매니페스트에 테스트를 활성화합니다.
테스트 파일 위치
테스트 파일은 패키지의 Tests 폴더 아래 Editor 및 Runtime 하위 폴더에 추가합니다. 예를 들어, 패키지가 다음과 같은 구조를 가질 수 있습니다:
MyPackage
├── package.json
├── Editor
│ ├── MyPackage.Editor.asmdef
│ └── EditorExample.cs
├── Runtime
│ ├── MyPackage.Runtime.asmdef
│ └── RuntimeExample.cs
└── Tests
├── Editor
│ ├── MyPackage.EditorTests.asmdef
│ └── EditorExampleTest.cs
└── Runtime
├── MyPackage.RuntimeTests.asmdef
└── RuntimeExampleTest.cs
각 하위 폴더에는 어셈블리에 대한 레퍼런스를 제공하는 .asmdef 파일이 포함되어야 하며, 테스트 어셈블리 파일에 대한 레퍼런스도 포함됩니다.
테스트용 어셈블리 정의 파일 설정
테스트용 어셈블리 정의 파일은 직접 편집할 수 있습니다. 아래의 레퍼런스를 추가해야 합니다.
| 속성 | 타입 | 설명 |
|---|---|---|
| name | String | 파일 확장자가 없는 어셈블리 이름입니다. |
| references | 문자열 배열 | Editor 및 Runtime 어셈블리에 대한 레퍼런스입니다. |
| optionalUnityReferences | 문자열 배열 | "TestAssemblies"가 포함되어야 합니다. |
| includePlatforms | 문자열 배열 | Editor 테스트의 경우 "Editor" 플랫폼을 포함해야 합니다. |
에디터 파일 예시
{
"name": "MyPackage.Editor.Tests",
"references": [
"MyPackage.Editor",
"MyPackage"
],
"optionalUnityReferences": [
"TestAssemblies"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": []
}
런타임 파일 예시
{
"name": "MyPackage.Tests",
"references": [
"MyPackage"
],
"optionalUnityReferences": [
"TestAssemblies"
],
"includePlatforms": [],
"excludePlatforms": []
}
패키지용 테스트 활성화
내장된 패키지는 개발 중이므로 테스트를 명시적으로 활성화할 필요가 없습니다. 그러나 다른 종속성 유형의 경우 testables 속성을 프로젝트 매니페스트에 추가해야 하며, 테스트가 있는 패키지의 이름을 추가해야 합니다. 다음은 예시입니다.
{
"dependencies": {
"com.unity.some-package": "1.0.0",
"com.unity.other-package": "2.0.0",
"com.unity.yet-another-package": "3.0.0"
},
"testables": ["com.unity.some-package", "com.unity.other-package"]
}
위 예시에서는 com.unity.some-package와 com.unity.other-package 패키지에 대한 테스트를 추가합니다. 참고로, 테스트 프레임워크가 testables 속성에 대한 변경 사항을 즉시 식별하지 못할 수 있으므로, 패키지를 다시 임포트해야 할 수도 있습니다.
패키지 레이아웃
패키지를 구성할 때의 레이아웃 구조를 잘 이해했다면, 이를 바탕으로 각각의 폴더에 파일을 올바르게 배치하여 조직적으로 관리할 수 있습니다.
이 가이드를 통해 Unity에서 패키지에 테스트를 추가하는 방법을 이해하고, 나만의 패키지를 구성할 수 있는 능력을 갖추길 바랍니다.