Unity 6.3
0 онлайн 102 гостей 3 в системе
Вход
Пакеты и управление пакетами Шаг 244 из 281

Добавить тесты в пакет

Добавьте тесты к пакету Unity Package Manager (UPM) для проверки его поведения и выявления проблем во время разработки.

Добавление тестов актуально, если вы создаете пакет, содержащий скрипты или логику, которую вы хотите проверить по мере развития вашего пакета. Включение тестов помогает вам обнаруживать ошибки, повышать надежность и поддерживать безопасное повторное использование пакета в различных проектах. Фреймворк тестирования Unity позволяет вам организовывать и запускать эти тесты из Unity Editor или как часть конвейера непрерывной интеграции (CI).

Когда вы создаете пакет с помощью окна Package Manager, Package Manager создает папки Tests/Editor и Tests/Runtime с файлами C# и определения сборки (.asmdef) в каждой из них, чтобы помочь вам начать.

Чтобы завершить создание тестовых файлов для пакета:

  1. Перейдите в папку пакета, используя окно Project или приложение для управления файлами.
  2. Перейдите в папку Tests/Editor или Tests/Runtime для тестов, которые вы хотите выполнить.
  3. Откройте примерный скрипт C#.
  4. Добавляйте тестовые случаи по мере необходимости. Хорошая практика состоит в создании хотя бы одного тестового файла для каждого скрипта C#. См. Писание тестов.
  5. Сохраните файл.
  6. Если вы создаете более сложную структуру папок в папке Tests, вы можете создать дополнительные файлы asmdef для кода, который вы хотите поместить в отдельные сборки. Если вы хотите создать дополнительные определения сборок, обратитесь к Файлы определений сборок для тестов.
  7. Включить тесты для вашего пакета.
  8. Запустите тесты. Дополнительные сведения см. в Запуск тестов.

Файлы определения сборки для тестирования

Используйте Рамки тестирования для создания или редактирования файлов определения сборки. Дополнительные сведения см. в разделе Создание тестового сборки.

Когда вы создаете пакет с окном Package Manager, Package Manager создает файлы определения сборки (.asmdef) в Tests/Editor и Tests/Runtime для сопровождения тестовых скриптов, созданных в этих папках.

Образцы файлов определения сборки имеют необходимые свойства и значения. Если требуется добавить дополнительные свойства и значения, используйте окно Inspector для редактирования определений сборки. Дополнительные сведения см. в Свойства определения сборки ссылка.

Вы также можете редактировать файлы .asmdef напрямую, но этот метод более подвержен ошибкам. Для получения дополнительной информации см. Справочник по формату файла Assembly Definition.

Пример файла редактора

Файл .asmdef в папке Tests/Editor выглядит следующим образом:

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

Пример файла runtime

Файл .asmdef в папке Tests/Runtime выглядит следующим образом:

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

Включение тестов для пакета

Возможно, вам придется включить тестирование в зависимости от папки, в которой вы разрабатываете пакет.

Если вы разрабатываете свой пакет в папке Packages вашего проекта, вам не нужно явно включать тесты.

Однако, если вы разрабатываете пакет вне папки Packages проекта, вам необходимо вручную включить его тесты. Для этого добавьте свойство проверяемые в манифест проекта и перечислите пакеты, тесты которых вы хотите запустить. Если вы также хотите запустить тесты из пакетов, от которых они зависят, включите также косвенные зависимости. Например:

{
  "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 в пакете Рамки тестирования от Unity.

Дополнительные ресурсы