プラットフォーム向けの GoogleTest(GTest、「ネイティブ テスト」とも呼ばれます)は通常、下位レベルの HAL にアクセスするか、さまざまなシステム サービスに対して raw IPC を実行します。したがって、テスト方法は通常、テスト対象のサービスと密接に関連しています。
継続的なテスト インフラストラクチャと統合するには、GTest フレームワークを使用して GTest を構築します。
例
プラットフォーム ソースの GTest の例を次に示します。
ステップの概要
GTest モジュールのセットアップ例に従います。
GTest の依存関係を自動的に含めるには、テスト モジュールの構成で
BUILD_NATIVE_TESTビルドルールを使用します。増分ビルドの場合は
mmm、フルビルドの場合はmmaを使用して、テスト モジュールをビルドします。make hwui_unit_tests -jAtest を使用してローカルでテストを実行します。
atest hwui_unit_testsGTest に引数を追加することもできます。次の引数は特に有用です。
native-test-flagは、GTest のシェルコマンドに渡す追加のフラグ値を指定します。native-test-timeoutは、テストのタイムアウト値をマイクロ秒単位で指定します。次のサンプルコードでは、これらの引数の両方を使用しています。
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
Trade Federation テストハーネスでテストを実行します。
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests手動でインストールして実行するには:
生成されたテストバイナリをデバイスにプッシュします。
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_testsGTest を起動し、デバイスでテストバイナリを起動してテストを実行します。
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_testsテスト実行のカスタマイズの詳細については、テストバイナリに
--helpパラメータを追加します。パラメータの詳細については、GTest の詳細ガイドをご覧ください。