mockito mockテストフレームワーク

1389 ワード

1.概要


mock,[mɒk],adj. 仮想的、シミュレーション的.
コードが別のクラスやインタフェースに依存している場合は、mockテストでこれらの依存をシミュレートし、テストを完了することができます.
シーンを使用:
クラスAには、Bクラスのオブジェクトに依存するメソッドfun(B b)がある.だからこの方法をテストするにはbオブジェクトが必要です.自分でBオブジェクトを作成し、テストに適応するための操作をすると、面倒になります.ではmockでテストできます.

2.取得


mockテストはアイデアであり、mockitoは実現フレームワークである.
    
	org.mockito    
	mockito-all    
	1.8.5    
	test    

3.コード例

package com.yichudu;

import static org.mockito.Mockito.*;

import java.util.List;

import static org.junit.Assert.*;
import org.junit.Test;

public class MockTest {

	@Test
	public void simpleTest() {

		// mock , , 
		@SuppressWarnings("unchecked")
		List list = mock(List.class);

		//  
		when(list.get(0)).thenReturn("helloworld");

		// junit 
		assertEquals("helloworld", list.get(0));
		
		//  ( get(0))
		verify(list).get(0);
	}
	
	@Test
	public void test2(){
		@SuppressWarnings("unchecked")
		List list = mock(List.class);
		when(list.get(0)).thenReturn("helloworld");
		//list mock , list 
		assertTrue(StringOP.ifTheFirstIsHelloworld(list));
	}
}

class StringOP{
	public static boolean ifTheFirstIsHelloworld(List list){
		return list.get(0).equals("helloworld");
	}
}