ユーザ用ツール

サイト用ツール


mockito

以前のリビジョンの文書です


モックについて

オブジェクトAが××の状態の場合, ○○の振る舞いをする… などのテストに利用する。

オブジェクトAの代わりにモックを使用することにより、オブジェクトAを特定の状態にセットアップ
する処理を簡略化することができる。

dependencies

build.gradleのdependenciesに下記の3行を追加。Mockito本体の他にdex化のライブラリが必要。

androidTestCompile 'org.mockito:mockito-core:1.+'
androidTestCompile 'com.google.dexmaker:dexmaker:1.+'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.+'

サンプル

// Mockitoクラスはstaticインポートすることを推奨
import static org.mockito.Mockito.*;
...

/**
 * モックが相互作用することを検証
 * @throws Exception
 */
@Test
public void testVerify() throws Exception {
  List mockedList = mock(List.class);
  mockedList.add("one");
  mockedList.clear();
  
  // mockのメソッドが呼びだされていることを確認する
  verify(mockedList).add("one");
  verify(mockedList).clear();
}

/**
 * スタブとして利用
 * @throws Exception
 */
@Test
public void testStub() throws Exception {
  List mockedList = mock(List.class);
  // スタブとして「first」を返すよう設定
  when(mockedList.get(0)).thenReturn("first");
    
  // JUnitで検証
  String str = mockedList.get(0).toString();
  assertEquals("first", str);
}
mockito.1445401227.txt.gz · 最終更新: 2015/10/21 13:20 by sou