ソフトウェアの完全なコード カバレッジを実現するには、JAR ホストテストを実装する必要があります。手順に沿ってローカル単体テストをビルドします。特定の機能だけを検証するために小規模の単体テストを作成します。
例
以下のブループリント ファイル(platform_testing/tests/example/jarhosttest/Android.bp)は、簡単な Hello World JAR ホストテストの例であり、必要に応じてコピーして変更します。
実際のテストコードは、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_host_test
宣言は、これが JAR ホストテストであることを示します。
設定
次の設定は説明を要します。
name: "HelloWorldHostTest",
java_test_host
モジュール タイプが指定されている場合、name
設定が(ブロックの先頭に)必要です。この設定がモジュール名になり、生成される JAR は同じ名前で接尾辞 .jar
が付きます。この場合、生成されるテスト JAR の名前は HelloWorldHostTest.jar
です。また、モジュールの make ターゲット名も定義します。これにより、make [options]
<HelloWorldHostTest>
を使用してテスト モジュールとすべての依存関係をビルドできます。
test_suites: ["general-tests"],
test_suites
設定により、Trade Federation テストハーネスでテストを簡単に検出できるようになります。このテストを共有できるように、CTS などの他のスイートをここに追加できます。
static_libs: [
"junit",
],
static_libs
設定は、指定されたモジュールのコンテンツを現在のモジュールで生成される apk に組み込むようビルドシステムに指示します。つまり、各名前付きモジュールは .jar
ファイルを生成します。そのコンテンツはコンパイル時に classpath 参照の解決に使用され、生成される apk に組み込まれます。