プラットフォーム向けの GoogleTest(GTest、「ネイティブ テスト」とも呼ばれます)は通常、下位レベルの HAL にアクセスするか、さまざまなシステム サービスに対して raw IPC を実行します。したがって、テスト方法は通常、テスト対象のサービスと密接に関連しています。
継続的なテスト インフラストラクチャと統合するには、GTest フレームワークを使用して GTest を構築します。
例
プラットフォーム ソースの GTest の例を次に示します。
ステップの概要
GTest モジュールのセットアップ例に従います。
GTest の依存関係を自動的に含めるには、テスト モジュールの構成で
BUILD_NATIVE_TEST
ビルドルールを使用します。増分ビルドの場合は
mmm
、フルビルドの場合はmma
を使用して、テスト モジュールをビルドします。make hwui_unit_tests -j
Atest を使用してローカルでテストを実行します。
atest hwui_unit_tests
GTest に引数を追加することもできます。次の引数は特に有用です。
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_tests
GTest を起動し、デバイスでテストバイナリを起動してテストを実行します。
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
テスト実行のカスタマイズの詳細については、テストバイナリに
--help
パラメータを追加します。パラメータの詳細については、GTest の詳細ガイドをご覧ください。