範本,並納入交易 XML 設定

有時僅為了定義測試而建立單體 XML 設定 實際可行如要重複使用部分設定來執行類似的測試, 就必須複製並維護兩個大型 XML 檔案

這就是 templateinclude 標記在交易 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 設定路徑可以是絕對路徑,也可以是 res/config 資料夾的相對路徑 它會寫入 Tradefed 的 JAR 資源中以下是其中幾個據點:

  • 工具/策略/核心/res/設定
  • 工具/策略/核心/測試/res/設定
  • 工具/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>

包含比範本簡單,因為不需要指令列引數。 會直接展開 name 標記中參照的 XML。與範本類似 設定路徑可以是絕對路徑或相對路徑。還是,我們要includes 建議只使用相對路徑,因為相對路徑在交易中較容易移動。 如果交易內容移至其他機器,絕對路徑無效。

設定錯誤

如果設定錯誤 (例如找不到替代的 XML 時), 交換後,系統會擲回 ConfigurationException,並說明可能的事物