建立一個單一 XML 設定來定義測試,不一定實用。如果您想重複使用部分設定來執行類似的測試,就必須複製並維護兩個巨大的 XML 檔案。
這就是 template
和 include
標記在交易 XML 設定中的位置
以便派上用場可在部分 XML 中設定預留位置
即可增加另一個 XML 設定的一部分
範本定義範例
<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>
範本是具有 name
的預留位置,可以參照範本,您也可以選用這個預留位置
「default
」欄位中的值。預設欄位會定義要取代的預設替代 XML
。
如要替換特定設定的範本,請執行下列指令: 參數必須加到指令列:
--template:map <name of template>=<replacement XML config path>
--template:map preparers=empty
例如:
<template-include name="preparers" default="empty" />
本案例中的 empty
參照是指 empty.xml
設定,
不含任何內容;我們會參考這份文件,取代不使用任何東西的內容。
XML 設定的路徑可以是 Tradefed JAR 資源中 res/config
資料夾的絕對路徑或相對路徑。以下列舉其中幾個地點:
- tools/tradefederation/core/res/config
- tools/tradefederation/core/tests/res/config
- tools/tradedeferation/contrib/res/config
include 的定義範例
<configuration description="Common base configuration for local runs with minimum overhead">
<build_provider class="com.android.tradefed.build.BootstrapBuildProvider" />
<include name="empty"/>
</configuration>
由於不需要指令列引數,因此 Includes 比範本更簡單;它會直接在 name
標記中展開參照的 XML。與範本類似
設定路徑可以是絕對路徑或相對路徑。還是,我們要includes
建議只使用相對路徑,因為相對路徑在交易中較容易移動。
如果 Tradefed 移至其他機器,絕對路徑就會失效。
設定錯誤
如果設定錯誤 (例如找不到替代的 XML 時),
交換後,系統會擲回 ConfigurationException
,並說明可能的事物