Android Mockを利用してHTTP通信をテストするには:Androidアプリ開発テスト入門(5)(2/3 ページ)
日本Androidの会テスト部が、いままで培ってきたAndroidアプリ開発におけるテストのノウハウを、実際のテストコード例とともに紹介していきます
Android Mockを使用するための5ステップ
前後しましたが、Eclipse上のテストプロジェクトからAndroid Mockを利用するための手順を紹介します。一部、絶対パスで指定する個所があります。サンプルコードをダウンロードして実行する場合でもお手元の環境に合わせて設定が必要になりますので、ご注意ください。
【1】ダウンロード
「Android Mock Project Home」から「AndroidMock-1.1.2.tar」をダウンロードし展開します。使用するのは下記3ファイルです。
- AndroidMockGenerator.jar:Javaコンパイル時にモックのクラスを生成
- AndroidMockRuntime.jar:dexファイルに組み込まれるランタイム
- android_framework_mocks.jar:Android SDK各バージョンに含まれるクラスのモックが収められており、必要に応じて使用。AndroidMock-1.1.2には、Android 4.0.3(API Level 15)までのクラスのモックが納められている
【2】AndroidMockRuntime.jarをテストプロジェクトに追加
テストプロジェクトの[Properties]→[Java Build Path]を開き、[Libraries]に追加します(プロジェクトページにある古いpdfには「AndroidMockGenerator.jar」と書かれていますが、「AndroidMockRuntime.jar」で大丈夫です)。
【3】コンパイラ準拠バージョンの設定
テストプロジェクトの[Properties]→[Java Compiler]を開き[Enable project specific settings]をチェックし、[Compiler compliance level]を「1.6」に設定します。
【4】アノテーションプロセッサの設定
テストプロジェクトの[Properties]→[Java Compiler]→[Annotation Processing]を開き、[Enable project specific settings]をチェックし、[Enable annotation processing]をチェックし、[Enable processing in editor]のチェックをはずします。
続いて、[Processor options]の[New...]ボタンをクリックし、下記を追加します。
- [Key]を「bin_dir」に、[Value]を「{テストプロジェクト}/bin/classes」の絶対パスに
- [Key]を「logfile」に、[Value]を「{テストプロジェクト}/AnnotationProcesor.log」にすることが推奨されているが、任意のパスを設定できる
もしADT 13以前をお使いの場合には、「bin_dir」には「{テストプロジェクト}/bin」の絶対パスを指定してください。ADT 14以降、Javaコンパイラの出力先が「/bin/classes」に変更されたため、ADT 14以降の場合は「/bin/classes」に設定する必要があります。
【5】ファクトリパスの設定
ADTでテストプロジェクトの[Properties]→[Java Compiler]→[Annotation Processing]→[Factory Path]を開き、[Enable project specific settings]をonに。次いで[Add JARs...]ボタンをクリックし、「AndroidMockGenerator.jar」を追加します。
続いて、必要に応じて変数定義を追加していきます。いずれも、[Add Variable...]ボタンをクリックし、表示されるダイアログの[Configure Variables...]ボタンをクリック。さらに[New...]ボタンをクリックして追加します。
- Android SDK内のクラスのモックを生成する場合
- [Name]を「ANDROID_RUNTIME」に(名前は任意)、[Path]は[File...]ボタンでAndroid SDKの「platforms」フォルダ下にある任意の(使用するバージョンの)「android.jar」を選択
- [Name]を「ANDROID_FRAMEWORK_MOCKS」に(名前は任意)、[Path=]は[File...]ボタンで「android_framework_mocks.jar」を選択
- 製品プロジェクト(テスト対象)のクラスのモックを生成する場合
[Name]を「APP_UNDER_TEST」に(名前は任意)、[Path]は[Folder...]ボタンで、テスト対象プロジェクトの「/bin/classes」を指定(ここも、ADT 13以前であれば「/bin」を指定) - 外部のjarにあるクラスのモックを生成する場合
[Name]は任意、[Path」は[File...]ボタンで使用するjarファイルを選択
以上で、Android Mockを利用する設定は完了です。
Copyright © ITmedia, Inc. All Rights Reserved.