Membuat satu konfigurasi XML monolitik untuk menentukan pengujian tidak selalu praktis. Jika Anda ingin menggunakan kembali bagian penyiapan untuk menjalankan pengujian serupa, Anda akan dipaksa untuk menyalin dan memelihara dua file XML raksasa.
Di sinilah template
dan include
tag dalam definisi Konfigurasi XML Tradefed berguna. Mereka memungkinkan Anda untuk mengatur placeholder di beberapa konfigurasi XML untuk menambahkan bagian dari konfigurasi XML lain.
Contoh Definisi Untuk Template
<configuration description="Common base configuration for local runs with minimum overhead">
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<template-include name="preparers" default="empty" />
<template-include name="test" default="empty" />
<template-include name="reporters" default="empty" />
</configuration>
Templat adalah tempat penampung dengan name
untuk mereferensikannya, dan bidang default
opsional. Bidang default menentukan XML pengganti default yang harus digunakan.
Untuk mengganti template untuk konfigurasi tertentu, parameter perintah berikut perlu ditambahkan ke baris perintah:
--template:map <name of template>=<replacement XML config path>
--template:map preparers=empty
Sebagai contoh:
<template-include name="preparers" default="empty" />
Referensi empty
dalam hal ini mengacu pada konfigurasi empty.xml
yang tidak berisi apa-apa; kami menggunakannya sebagai referensi kami untuk mengganti dengan apa-apa .
Jalur konfigurasi XML dapat bersifat absolut atau relatif terhadap folder res/config
di dalam sumber daya JAR Tradefed. Berikut adalah beberapa lokasi mereka:
- alat/perdagangan/inti/res/konfigurasi
- alat/perdagangan/inti/tes/res/config
- alat/tradedeferation/contrib/res/config
Contoh Definisi Termasuk
<configuration description="Common base configuration for local runs with minimum overhead">
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<include name="empty"/>
</configuration>
Termasuk lebih sederhana daripada Template karena tidak memerlukan argumen baris perintah; mereka secara langsung memperluas XML yang direferensikan dalam tag name
. Mirip dengan templat, jalur ke konfigurasi bisa absolut atau relatif. Namun, untuk includes
kami sarankan hanya menggunakan jalur relatif karena lebih portabel di Tradefed. Jalur absolut tidak akan valid jika Tradefed dipindahkan ke komputer lain.
Salah konfigurasi
Jika terjadi kesalahan konfigurasi, seperti saat XML pengganti tidak dapat ditemukan, Tradefed akan mengeluarkan ConfigurationException
dengan deskripsi tentang apa yang tampaknya hilang atau salah dikonfigurasi.