Version: 2023.2
언어: 한국어
패키지 레이아웃
패키지용 샘플 생성

패키지에 테스트 추가

As with any kind of development, it’s good practice to add tests to your package. There are three things you must do to set up tests on your package:

  1. C# 테스트 파일을 만든 후 Tests 폴더에 넣습니다.
  2. 테스트를 위해 asmdef 파일을 만듭니다.
  3. 패키지에 대해 테스트를 활성화합니다.

테스트 파일의 위치

You can add your test files to the Tests folder of your package in the Editor and Runtime subfolders. For example, a simple package with tests might look something like this:

<package-root>
  ├── package.json
  ├── Editor
  │     ├── <company-name>.<package-name>.Editor.asmdef
  │     └── EditorExample.cs
  ├── Runtime
  │     ├── <company-name>.<package-name>.asmdef
  │     └── RuntimeExample.cs
  └── Tests
        ├── Editor
        │    ├── <company-name>.<package-name>.Editor.Tests.asmdef
        │    └── EditorExampleTest.cs
        └── Runtime
             ├── <company-name>.<package-name>.Tests.asmdef
             └── RuntimeExampleTest.cs

Each of those subfolders must contain an .asmdef file, which provides references to the Editor and Runtime assemblies. The assembly definition files also provide a reference to the test assembly files. For more information, refer to Assembly definition files for tests.

테스트용 어셈블리 정의 파일

어셈블리 정의 파일을 직접 편집할 수 있습니다. 다음의 레퍼런스를 추가해야 합니다.

속성 타입 설명
name String 파일 확장자가 없는 어셈블리 이름입니다.
references 문자열 배열 References to the Editor and Runtime assemblies. Assembly definition files require different references, depending on the test type:
- For Editor tests, add a reference to the package’s Editor and Runtime assemblies.
- For Runtime tests, add a reference to the package’s Runtime assembly only.
optionalUnityReferences 문자열 배열 This list of Unity references must include "TestAssemblies" to mark the assembly as a test assembly. This adds references to the nunit.framework.dll and UnityEngine.TestRunner.dll libraries to the Assembly Definition.
includePlatforms 문자열 배열 For the Editor test, this list of platforms must include the "Editor" platform.

Tip: You can also edit the assembly definition files in the Inspector. Refer to Assembly Definitions for more information.

에디터 파일 예시

The editor test .asmdef file looks like this:

{
  "name": "MyCompany.MyPackage.Editor.Tests",
  "references": [
    "MyPackage.Editor",
    "MyPackage"
  ],
  "optionalUnityReferences": [
    "TestAssemblies"
  ],
  "includePlatforms": [
    "Editor"
  ],
  "excludePlatforms": []
}

런타임 파일 예시

The runtime test .asmdef file looks like this:

{
  "name": "MyCompany.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"]
}

This example adds tests for the com.unity.some-package and com.unity.other-package packages in Unity’s Test Framework package.

Note: You might need to import the package again, because the test framework doesn’t always immediately pick up changes to the testables attribute.

패키지 레이아웃
패키지용 샘플 생성
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961