應實施 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", ],