2017-04-01 21 views
0

私はプロジェクトでSpring、SpringMVC、Mybatisを使用しています。
初めてMockitoで遊ぶ。 Mockito、テストコードを使用する前に
JUnit + Mockito DAOレイヤのテスト方法

は、私がテスト中にデータベースを触れたくなかったので、その後、私はMockitoを見つけ、この

@Test 
@Transactional 
@Rollback 
public void setNewUnifyPriceRoom() throws Exception { 
    Map reqMap = new HashMap(); 
    reqMap.put("typeId", 21); 
    reqMap.put("roomId", 19); 

    roomDockingsMapper.setNewUnifyPriceRoom(reqMap); 

    String isUnifyPriceRoom = roomDockingsMapper.isUnifyPriceRoom(19, 21); 
    Assert.assertEquals("Y", isUnifyPriceRoom); 
} 

のように見えました。私はデータプロバイダとしてBeforeClassを書き込もうとしました。私はsetNewUnifyPriceRoomアクションの後setNewUnifyPriceRoom、その後、thenReturnセクションで設定する操作を行いいるもの、私がやりたい基本的

private static RoomDockingsMapper mockRoomDockingsMapper; 
    @BeforeClass 
    public static void setup(){ 
     Map reqMap = new HashMap(); 
     reqMap.put("typeId", 21); 
     reqMap.put("roomId", 19); 
     mockRoomDockingsMapper = mock(RoomDockingsMapper.class); 
     when(mockRoomDockingsMapper.setNewUnifyPriceRoom(reqMap)).thenReturn(??????); 
    } 

をした後、私は何かを返すようにしようとしたときしかし、私が捕まってしまいましたisUnifyPriceRoomメソッドreturn "Y"。

ご協力いただければ幸いです。

+0

あなたが提供した内容に基づいて回答するのは難しいです。あなたがテストしている実際の方法のコードを追加できますか? – developer

答えて

0

テストしているメソッドを模擬したくないです。 setNewUnifyPriceRoomの内部で発生するデータベースのやりとりを模擬して、残りのコードが正しく動作していることを確認できます。

関連する問題