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:
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.
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.
Uji editor file .asmdef
harus terlihat seperti ini:
{
"name": "MyPackage.Editor.Tests",
"references": [
"MyPackage.Editor",
"MyPackage"
],
"optionalUnityReferences": [
"TestAssemblies"
],
"includePlatforms": [
"Editor"
],
"excludePlatforms": []
}
Uji runtime file .asmdef
harus terlihat seperti ini:
{
"name": "MyPackage.Tests",
"references": [
"MyPackage"
],
"optionalUnityReferences": [
"TestAssemblies"
],
"includePlatforms": [],
"excludePlatforms": []
}
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.