JUnit学習ノート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.テストが完了した後、確認対象は先ほど定義したすべての操作を実行しました.
具体的な使い方は、私のコレクション記事を参照してください.