JAR 主機測試

應實作 Java 封存 (JAR) 主機測試,提供完整的程式碼 軟體攻擊請按照操作說明建構本機單元測試。編寫小型單元測試來驗證特定功能,無其他資訊。

範例

下列藍圖檔案提供簡單的 Hello World JAR 主機測試範例,供您複製並依需求調整:platform_testing/tests/example/jarhosttest/Android.bp

這與在下列網址取得的實際測試程式碼相對應: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java

為方便您參考,我們已將藍圖檔案的快照畫面附在本文中:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

開頭的 java_test_host 宣告表示這是 JAR 主機測試。請參閱以下範例:frameworks/base/tools/powermodel/Android.bp

設定

請參閱以下設定的說明:

  • 如果 java_test_host 模組類型為name (在區塊的開頭)。這項設定可以為 而產生的 JAR 具有相同名稱和 .jar 後置字串。在 以下範例產生的測試 JAR 命名為 HelloWorldHostTest.jar。於 不僅如此,這項設定也會定義模組的新建目標名稱 您可以使用 make [options] <HelloWorldHostTest> 來建構測試 模組及其所有依附元件

    name: "HelloWorldHostTest",
    
  • test_suites 設定可讓 Trade Federation 測試輔助程式輕鬆發現測試。您可以在這裡新增其他測試套件,如 CTS 才能共用 JAR 主機測試測試

    test_suites: ["general-tests"],
    
  • static_libs 設定會指示建構系統納入 已命名模組的內容加入目前模組產生的 APK。 這表示每個具名模組都必須產生 .jar 檔案。 模組的內容會用於在編譯期間解析 classpath 參照,並納入產生的 APK。

    static_libs: [
        "junit",
    ],