「Androidアプリ テスト技法」第3章その2
- 作者: 生路茂太,井芹洋輝,神原健一,長谷川孝二,松木晋祐,宮田友美,吉澤毅
- 出版社/メーカー: 秀和システム
- 発売日: 2013/02
- メディア: 単行本
- この商品を含むブログ (2件) を見る
Activityのテスト
ActivityUnitTestCase
ビジネスロジックをテストする際に利用するテストケース。startActivityで対象のActivityを開始する。 対象のActivityがstartActivity()/startActivityForResult()で別のActivityを起動した場合、 getStartedActivityIntent()でそのIntentを取得できる。
また、startActivityForResultの第二引数の値を取得する場合は、getStartedActivityRequest()を使う。
テスト対象Acrivityのインスタンス取得
ActivityUnitTestCase#startActivity()
getActivityは startAcitivityで作成した後にしか使えない。
ActivityInstrumentationTestCase2#startActivity()
startActivityIntent(...)なら、Intentを渡せる
対象Activityが他のActivityから起動されるテスト
結局ActivityUniteTestCase#startActivityでIntentを渡してActivityを取得するだけ。
finish()が実行されているかどうかの確認
ActivityUniteTestCase#isFinishCalled()を呼ぶ
UI操作による状態変化を確認するテスト
ActivityInstrumentationTestCase2では、UI操作を含めたテストを行う。
テストはUIスレッドとは別のスレッドで実行されるため、UIの操作をするためには Activity#runOnUiThread()で処理を実行する必要がある。
TouchUtilsを使ったテスト
TouchUtilsを使うと、UIスレッドでのユーザー操作を簡単にエミュレートできる。
Robotiumによる結合テスト
UI操作を伴うテストを簡潔にするためのフレームワーク。
Activityの呼び出し等も楽に行えるので、テストの記述が楽になる。
3章の半分が終了。あともーちょっと。 今までめんどくさくて androidのみっちりしたテストを書くのは避けてたんですが、 結構簡単に書けるもんですね。
心を入れ替えて真面目に書くようにします…