JAR ホストテスト

ソフトウェアの完全なコード カバレッジを実現するには、Java アーカイブ(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_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 テストハーネスでテストを簡単に検出できるようになります。JAR ホストテストを共有できるように、CTS などの他のスイートをここに追加できます。

    test_suites: ["general-tests"],
    
  • static_libs 設定は、指定されたモジュールの内容を現在のモジュールで生成される APK に組み込むようビルドシステムに指示します。 つまり、各名前付きモジュールは .jar ファイルを生成します。 モジュールの内容はコンパイル時に classpath 参照の解決に使用され、生成される APK に組み込まれます。

    static_libs: [
        "junit",
    ],