最近触り始めたrobolectricについて、Eclipseから環境を作る手順を忘れないようにメモしておく。
テスト対象のプロジェクトを作る
- EclipseからAndroid Applicationのプロジェクトを作る
Javaのプロジェクトを作る
- robolectricはJVM上でテストするため、Javaのプロジェクトとして作る必要がある。
robolectricのjarを追加する
- robolectric-X.X-jar-with-dependencies.jarをダウンロードする(またはrobolectricおよび依存ライブラリのjarをそれぞれダウンロードする)
- プロジェクト直下にlibsフォルダを作り、ダウンロードしたjarを置く
build pathを設定する
- Projectsからテスト対象のプロジェクトをbuild pathに追加する
- Add JARsからrobolectricのjarをbuild pathに追加する
- Add External JARsからSDKに含まれるandroid.jarをbuild pathに追加する
- ライブラリの読み込み順序でrobolectricのjarが先に読み込まれるようにしておく
- Add LibraryからJUnitをbuild pathに追加する
ハマりポイント
- Android Testプロジェクトを作ってしまう
- robolectricはJVM上でテストするためのライブラリなので、Android Testプロジェクトだとうまく動かない
- テスト対象がbuild pathに含まれてない
- テスト対象のクラスなどが使えない
- テスト対象は別プロジェクトなので忘れがち
- android.jarがbuild pathに含まれていない
- 各apiを参照する必要があるので、SDKに含まれるjarをbuild pathに含めないとうまく動かない
- sdk/platforms/android-xx/ にある
- android.jarが先に読み込まれてしまう
- android.jar側の実装が読み込まれてしまい、robolectric側の実装が使えない