JavaのMockitのテストのサンプルです。
JUnit4の設定とテストコードの実行についてはJava JUnit4のテストのサンプルを参照願います。
| 確認環境 ・Eclipse4.8 ・Java 8 ・mockit-1.10.19 ・junit-4.12 |
目次
1.Mockit
- モックを作成できます。
- スタブを作成できます。
- 以下は、mockitのリンクです。
https://site.mockito.org/
2.jarファイルの取得
Maven
pom.xmlに2~8行目を追加します。1,9行目がない場合は1,9行目も追加します。
<dependencies>
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
</dependencies>
jarファイル
jarファイルは、MavenRepositoryのサイトにあります。
https://mvnrepository.com/artifact/org.mockito/mockito-all/1.10.19
以下の図の「Files」の横にあるjarをクリックするとjarファイルをダウンロードできます。

Eclipseで、jarファイルをクラスパスに追加する場合は以下を参照願います。
Eclipse 外部jarファイルをクラスパス(ビルドパス)に設定する方法参照。
3.テストするコード
以下のクラスに対してテストします。
メソッドの戻り値はnullです。
package test1;
public class Test1 {
String runSample(String a) {
// 未実装
return null;
}
}
4.モックを作成する
モックを作成します。
package test1;
import org.junit.Test;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
public class Test1Test {
@Test
public void test() {
//モックを作成
Test1 test = mock(Test1.class);
test.runSample("one");
verify(test).runSample("one");
}
}
9行目は、mockでTest1クラスのモックを作成します。
13行目は、verifyで引数がoneであることを確認しています。引数が異なっているとエラーになります。
5.スタブを作成する
スタブを作成します。
package test1;
import org.junit.Test;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
public class Test1Test {
@Test
public void test() {
//モックを作成
Test1 test = mock(Test1.class);
test.runSample("one");
verify(test).runSample("one");
// スタブを作成
when(test.runSample("one")).thenReturn("OK");
when(test.runSample("two")).thenReturn("NG");
assertEquals("OK", test.runSample("one")); //成功
assertEquals("NG", test.runSample("two")); //成功
}
}
16,17行目は、whenでスタブを作成しています。runSampleメソッドの引数が指定の値の場合、thenReturnの引数が戻ります。
以下は、エラーが無い時の図です。

以下は、エラーのときの図です。

関連の記事
Java JUnit4のテストのサンプル
Java assertThatメソッドのサンプル
Java JMockitのテストのサンプル
Java Eclipseでカバレッジを取得するサンプル