iRSSの日記

はてなダイアリーiRSSの日記の続き

androidは文法しか準拠してない

Javaであるための3大要素である「文法」「標準ライブラリ」「バーチャルマシン」のうち、androidは文法しか準拠してないので、Javaとは似て非なるモノとして扱わなければならない。

なるほど、テストもandroidエミュレータか、実機でないとだめなのね。


AndroidにおいてAcitivity、Service、ContentProviderなどのコンテキスト情報はシステム提供のライブラリ内で管理されているため、通常のJUnitでは試験が実質的に不可能です。また、Dalvik VM上(エミュレータ、実機)で動作させなければAndroidアプリケーションの試験をしたことになりません。それらの理由からAndroidでは標準のJUnitを拡張したテスト向けのライブラリが提供されています。

JUnitのテストケースを拡張したクラス階層は深いですが、基本的に一番条件にマッチするリーフクラスを使用すれば問題ありません。以下の図にテスト対象と被テスト対象の関係を示しています。