Edited at

Androidでmockitoを使ったJUnitの単体テストを動かす

More than 5 years have passed since last update.

Androidの開発でmockitoを使おうとして死んだことありませんか? そんな紳士淑女の皆さんに朗報です。dexmakerというライブラリを使うことで、な、なんとmockitoを使った単体テストを動かすことが出来るようになりす。使い方は簡単、dexmakerをダウンロードしてきてmockitoと一緒に外部jarの設定をするだけです。spyとかまでガッチり使い込んだ訳じゃないですが、今のところ普通にモック作って、普通にwhenしたりverifyしたりする分には動いています。Androidでもmockitoしたい方は、一度お試しになっては、いかがでしょうか?



  • http://code.google.com/p/dexmaker/ で、それっぽいjarをダウンロードする

  • JUnit3系のノリでテストクラスを作るけど、extends TestCaseの代わりに extends InstrumentationTestCase を使う

  • Android JUnitから実行する

以下、サンプルソース

package test;

import java.util.ArrayList;

import android.test.InstrumentationTestCase;
import static org.mockito.Mockito.*;

public class HogeTest extends InstrumentationTestCase {
public void testHoge () {
ArrayList hoge = mock(ArrayList.class);
when(hoge.toString()).thenReturn("hoge");
assertEquals ( "hoge", hoge.toString() );
}
}