Unity 패키지에 대한 테스트 추가 가이드

이 문서는 Unity에서 패키지를 생성하고, 테스트를 추가하는 방법에 대해 설명합니다. 패키지에 테스트를 추가하는 것은 소프트웨어 품질을 보장하기 위해 중요합니다. 아래에서 단계별로 과정을 간단히 설명합니다.

패키지에 테스트 추가하는 방법

패키지에 테스트를 추가하기 위해서는 다음 세 가지 단계를 수행해야 합니다:

  1. C# 테스트 파일 생성
  2. Tests 폴더에 C# 테스트 파일을 생성합니다.
  3. asmdef 파일 생성
  4. 테스트를 위해 패키지에 대한 asmdef 파일을 생성합니다.
  5. 테스트 활성화
  6. 프로젝트 매니페스트에 테스트를 활성화합니다.

테스트 파일 위치

테스트 파일은 패키지의 Tests 폴더 아래 EditorRuntime 하위 폴더에 추가합니다. 예를 들어, 패키지가 다음과 같은 구조를 가질 수 있습니다:

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-packagecom.unity.other-package 패키지에 대한 테스트를 추가합니다. 참고로, 테스트 프레임워크가 testables 속성에 대한 변경 사항을 즉시 식별하지 못할 수 있으므로, 패키지를 다시 임포트해야 할 수도 있습니다.

패키지 레이아웃

패키지를 구성할 때의 레이아웃 구조를 잘 이해했다면, 이를 바탕으로 각각의 폴더에 파일을 올바르게 배치하여 조직적으로 관리할 수 있습니다.


이 가이드를 통해 Unity에서 패키지에 테스트를 추가하는 방법을 이해하고, 나만의 패키지를 구성할 수 있는 능력을 갖추길 바랍니다.

Read more

Unity 매뉴얼 스크립팅 API 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 간단한 해설과 활용 예제들을 포함하고 있습니다. Unity는 게임 개발 플랫폼으로, 스크립팅 API를 통해 게임의 다양한 기능을 제어하고 수정할 수 있습니다. 버전 Unity 스크립팅 API는 여러 버전으로 제공됩니다. 주의 깊게 선택하여 사용하는 것이 중요합니다. 버전 설명 2023.2 최신 기능 및 버그 수정이 추가됨

By 이재협/실장/시스템개발실/PHYSIA

Unity 매뉴얼 스크립팅 API 설명서 해설

이 문서는 Unity의 매뉴얼 스크립팅 API에 대한 정보를 제공하며, 버전에 따라 다르게 적용되는 내용들을 설명합니다. 본 문서에서는 주요 내용을 간단히 정리하고 활용 가능 예제를 통해 이해를 돕겠습니다. 기본 개념 Unity에서 스크립팅 API는 게임 오브젝트와 그들의 동작을 제어하기 위한 강력한 도구입니다. 이를 통해 게임의 로직, 물리 엔진, 애니메이션 및 사용자 인터페이스를

By 이재협/실장/시스템개발실/PHYSIA

Unity 스크립팅 API 가이드

이 문서는 Unity의 스크립팅 API에 대해 설명합니다. Unity는 게임 개발을 위한 인기 있는 엔진으로, 강력한 스크립팅 기능을 제공합니다. 이 가이드는 Unity에서 스크립트를 작성하고 사용하는 방법을 이해하는 데 도움을 드립니다. 목차 * Unity 스크립팅 소개 * 기본 스크립트 생성 * 스크립트 사용 예제 * 응용 프로그램 * 참고 자료 Unity 스크립팅 소개 Unity는 C# 프로그래밍 언어를

By 이재협/실장/시스템개발실/PHYSIA