Paket layout
Membuat sampel untuk paket

Menambahkan tes ke paket

Seperti perkembangan apa pun, praktiknya bagus untuk menambahkan tes ke paket Anda. Ada tiga hal yang harus Anda lakukan untuk mengatur tes pada paket Anda:

  1. Buat file uji C# dan menempatkan mereka di bawah folder Tes.
  2. Buat file asmdef untuk tes Anda.
  3. Tes yang dapat diaktifkan untuk paket Anda.

Lokasi file uji

Anda dapat menambahkan file uji Anda ke folder Uji paket Anda di Editor dan subfolder Runtime. Misalnya, paket sederhana dengan tes mungkin terlihat seperti ini:

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

Setiap subfolder tersebut harus berisi file .asmdef, yang memberikan referensi kepada editor dan rakitan Runtime. File definisi perakitan juga memberikan referensi ke file perakitan uji. Untuk informasi lebih lanjut, lihat File definisi perakitan untuk pengujian.

File definisi perakitan untuk pengujian

Anda dapat mengedit file definisi perakitan secara langsung. Anda harus memastikan untuk menambahkan referensi berikut:

Attribute Type Description
name String Nama perakitan tanpa ekstensi file.
references Array String Referensi ke rakitan Editor dan Runtime. File definisi perakitan memerlukan referensi yang berbeda tergantung pada apakah itu untuk Editor atau tes Runtime:
- Untuk pengujian Editor, tambahkan referensi ke editor paket dan rak Runtime.
- Untuk tes Runtime, tambahkan referensi ke perakitan Runtime paket hanya.
optionalUnityReferences Array String Daftar referensi Unity ini harus mencakup “TestAssemblies” untuk menandai perakitan sebagai perakitan uji. Ini menambahkan referensi ke unit.framework.dll dan UnityEngine. TestRunner.dll
includePlatforms Array String Untuk tes Editor, daftar platform ini harus mencakup platform “Editor”.

Tip: Anda juga dapat mengedit file definisi perakitan di InspectorJendela Unity yang menampilkan informasi tentang Pengaturan GameObject yang dipilih saat ini, aset atau proyek, memungkinkan Anda untuk memeriksa dan mengedit nilai. More info
Lihat di Glossary
. Lihat Definisi Perakitan untuk informasi lebih lanjut.

Contoh file editor

Uji editor file .asmdef harus terlihat seperti ini:

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

Contoh file Runtime

Uji runtime file .asmdef harus terlihat seperti ini:

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

Mengaktifkan tes untuk paket

Untuk embedded packagesPaket embedded adalah paket yang Anda simpan di bawah direktori Packages di akar proyek Unity. Ini berbeda dari sebagian besar paket yang Anda unduh dari server paket. More info
Lihat di Glossary
, Anda tidak perlu mengaktifkan tes secara eksplisit karena paket tertanam dalam pengembangan.

Namun, untuk jenis ketergantungan lainnya, Anda perlu menambahkan atribut testables ke Project manifestSetiap proyek Unity memiliki manifestasi proyek, yang bertindak sebagai titik masuk untuk Manajer Paket. File ini harus tersedia di direktori <project>/Packages. Manajer Paket menggunakannya untuk mengkonfigurasi banyak hal, termasuk daftar dependensi untuk proyek itu, serta repositori paket untuk permintaan. More info
Lihat di Glossary
dan menambahkan nama paket yang memiliki pengujian yang ingin Anda jalankan. Itu termasuk langsung dan indirect dependenciesKetergantungan indirect, atau transitif terjadi ketika proyek Anda meminta paket yang sendiri “tergantung pada” paket lain. Misalnya, jika proyek Anda tergantung pada paket alembic@1.0.7 yang pada gilirannya tergantung pada paket timeline@1.0.0, maka proyek Anda memiliki ketergantungan langsung pada Alembic dan ketergantungan tidak langsung pada Timeline. More info
Lihat di Glossary
Proyek. Contoh:

{
  "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"]
}

Contoh ini menambahkan tes untuk paket com.unity.some-package dan com.unity.other-package dalam paket Unity Paket Test Framework (sebelumnya disebut Test Runner) adalah alat Unity yang menguji kode Anda dalam mode Edit dan Mode Play, dan juga pada platform target seperti Standalone, Android, atau iOS.
Lihat di Glossary
.

Note: Anda mungkin perlu mengekspor kembali paket, karena kerangka pengujian tidak selalu segera mengambil perubahan atribut testables.

Paket layout
Membuat sampel untuk paket