自己紹介
- @numa08
- スマホアプリつくるようじょ
おしながき
- Android の2つのテスト
- Robolectric って何?
- テストの無いアプリにテストを追加していこう
Android の2つのテスト
gradle のタスク名から名前を取りました
- AndroidTest
- 本物のデバイスやエミュレータで動くテスト
- Androidフレームワークの機能をそのまま使える
Android の2つのテスト
- Unit Test
- JVM上で実行されるテスト
- AndroidフレームワークのコードはJVMでは動かないのでモックが必要
- AndroidTestより動作が速い
おしながき
- Android の2つのテスト
- Robolectric って何?
- テストの無いアプリにテストを追加していこう
Robolectric って何?
- Androidフレームワークをモックしてくれるライブラリ
- JVM上でAndroidフレームワークのコードを動かすことができる
- JVM上でAndroidフレームワークに依存するテストを書くことができる
Robolectric が無いとき
-
Context
やActivity
などはJVM上では動作をしないので自分でテストコード内部で実装をする- MockitやPoerMock でモックは作れるがメンテナンスのコストはある
- 巨大なフレームワークを全てモックし管理するのは現実的じゃない
Robolectric があるとき
- テスト実行時にロードをするクラスをRobolectricが用意したモックに自動的に変更してくれる
- 自分でモックを用意することも可能
おしながき
- Android の2つのテスト
- Robolectric って何?
- テストの無いアプリにテストを追加していこう