ASi

JUnit on android

Activityを対象とする、又は使用できるTestCase

SingleLaunchActivityTestCase

TestCaseクラス一つにつき一回 onCreate() が呼ばれる。一つのTestCaseクラスのテスト実行前にActivityのインスタンスを作って、全てのテストメソッドで同じインスタンスを使いまわす。

ActivityInstrumentationTestCase2

テストメソッド一つにつき一回 onCreate() が呼ばれる。一つのテストメソッド毎に新しくActivityのインスタンスを生成する。

ActivityUnitTestCase

(未確認)
OSのリソースなどが使えないのだろう。Activityが必要とするSystemの機能は全て Mockクラス(Stubの事だ)を使って作ってやる必要があるのだと思う。
本来の意味でのUnitTestはこのクラスで作るのが正論だろう。OSの繋がるテストはFunctionalTestとでも言うべきか。まぁ、拘る必要はなく、ケースバイケースだと思う。


その他

AndroidTestCase

単にContextにアクセスしたいだけならこれを使えば良い

ApplicationTestCase

(未確認)
Applicationクラスを外から叩く事ができる様だ