JUnit学習ノート-4 EasyMock紹介


EasyMockはシミュレーションテストのフレームワークであり、シミュレーションテストを支援するために使用されます.テスト中に複雑なオブジェクトの生成が面倒で、時間がかかり、または生成できない場合は、実際のオブジェクトの代わりにシミュレーションされたオブジェクトを使用できます.EasyMockフレームワークは、これらのシミュレーションのオブジェクトを容易に生成するために使用されます.
使用例:

	@Test
	public void testAddWithMock(){
		//1. 
		demo = EasyMock.createMock(IMathDemo.class);//EasyMock , EasyMock Class Extension 
		
		//2.expect  
		EasyMock.expect(demo.add(1, 2)).andReturn(3).times(2);
		EasyMock.expect(demo.div(6, 3)).andReturn(2);
		//3.replay  
		EasyMock.replay(demo);
                //4. 
		assertEquals(3, demo.add(1,2));
		assertEquals(3, demo.add(1,2));
		assertEquals(2, demo.div(6,3));
		//5.verify  EasyMock 
		EasyMock.verify(demo);
		//EasyMock   +    +   
	}

	@Test(expected=RuntimeException.class)
	public void testAddWithMockException(){
		demo = EasyMock.createMock(IMathDemo.class);
                // 
		EasyMock.expect(demo.add(-1,-1)).andThrow(new RuntimeException(" !!"));
		EasyMock.replay(demo);
		demo.add(-1, -1);
		EasyMock.verify(demo);
	}

EasyMockは「記録-再生」の動作モードを採用し、基本的な使用手順:
1.Mockオブジェクトの制御オブジェクトControl(EasyMockクラス)の作成
2.制御オブジェクトから必要なMockオブジェクトを取得する
3.試験方法で使用したパラメータ値や戻り値、実行する回数、異常を投げ出すなどを記録します.
4.Controlオブジェクトを「再生」モードに設定
5.テストを行う
6.テストが完了した後、確認対象は先ほど定義したすべての操作を実行しました.
具体的な使い方は、私のコレクション記事を参照してください.