Android と CI
もっかい脳内の情報を stash して整理し直すことに。以下、色々控えを列挙してみる。
- Android SDK に同梱されている JUnit は 3.8 系ベースとのこと
- JUnit で試験書く場合は Activity に依存しないような工夫が必要
- たしかにある機能 (ロジック?) から依存関係をなくすことは重要
- MoreAsserts というクラスがある模様
- とりあえず Android は ant で build できるようになってないとアレ
- InstrumentationTestCase とか AndroidTestCase とかって何
- ActivityUnitTestCase って何
- メソド単体での実装が正しいことがテストできる?
- ActivityInstrumentationTestCase2 って何
- UI 操作を含めたテストを実行するとのこと
- Robotium
- ActivityInstrumentationTestCase2 の UI 操作なテストを簡潔に記述できるようにするためのライブラリ、とのこと
- MVC の結合試験も可能?
- Activity 間の遷移のテストも可能
- ServiceTestCase による Service の試験もできる模様
- LoaderTestCase というもの (Loader 試験用) もある模様
- mockito (モック伊藤)
- dexmaker を使うことで mockito が生成するオブジェクトを Dalvik VM 上で実行できるようになった、とのこと
- UI テストツールの適切な選択
- Android Testing Framework
- 一部の UI 操作は行なえない制約がある
- 何だろ
- 一部の UI 操作は行なえない制約がある
- monkeyrunner
- Python によるスクリプト化が可能らしい
- 絶対座標指定で UI 操作
- uiautomator
- Robotium
- 豊富なメソドが用意
- Activity 跨りな試験も記述できる
- JUnit3 に依存
- CI への組込みが可能
- JUnit4
- Robolectric
うーん、色々な意味で微妙。今、発展途上な要素技術でもあり、諸々を見極めつつ環境を構築していきましょう、というのが最適解なのかどうなのか。