2008年12月29日月曜日

androidでJUnitを使ってテストケースを書く方法

テストケースは、まぁ書けるとして、どうやってテストを実行するんだ? ってところで詰まったので、調べてみました。

androidにおけるUnitテストの資料

2008/12/28現在では以下のような状況でした。

で、日本語でまとめるとどーよ?

ざっくりまとめるので、詳しくは上記資料を読んでね。

  • まずはApiDemosのテストケースよんどけ
  • テストケースも1つの独立したプロジェクトとしてapkファイルを作ってエミュレータなどに転送する必要がある。要はテスト対象と、テスト本体で2つのプロジェクトを作る必要がある。
  • activityとかservice用のテストケースが用意されているので、それを使うと結構幸せになれる。このへん参照android.test.InstrumentationTestRunner - Android
  • テスト用のAndroidManifest.xmlが必要。書き方はApiDemos/testsのやつを参照
  • テストの実行は、エミュレータからならDevToolsというアプリのInstrumentationから好きなテストを選べば実行できる。
  • このDevTools→Instrumentationの中には既に何個かテストが入っているので、どんなことが出来るか実行してみると良いかも
  • コマンドラインから$ adb shell am instrument -w com.example.android.apis.tests/android.test.InstrumentationTestRunnerなどとしても起動できる。これにはオプションがいっぱいあるのでandroid.test.InstrumentationTestRunner - Android参照
  • テスト結果は$ adb logcatまたはamコマンドでの出力値として返される
  • INSTRUMENTATION_FAILEDとか言われる場合は、エミュレータ内でテスト用パッケージを認識できているか、$ adb shell pm list packagesを使って確認すると良いかも
Android端末間の互換性が問題になりそうな雰囲気なので、テストファーストで開発してテストをたくさん書いておくと、将来幸せになれるかも知れません。

0 件のコメント: