JAR 主機測試,JAR 主機測試,JAR 主機測試,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 目標名稱,以便您可以使用make [options] <HelloWorldHostTest>來建立您的測試模組及其所有依賴項。

    name: "HelloWorldHostTest",
    
  • test_suites設定使 Trade Federation 測試工具可以輕鬆發現測試。這裡可以加入其他測試套件,例如CTS,這樣就可以共享JAR主機測試測試。

    test_suites: ["general-tests"],
    
  • static_libs設定指示建置系統將命名模組的內容合併到目前模組的產生的 APK 中。這意味著每個命名模組都應該產生一個.jar檔。此模組的內容用於在編譯時解析類別路徑引用並合併到產生的 APK 中。

    static_libs: [
        "junit",
    ],