我在项目中使用了Spring,SpringMVC,Mybatis。
第一次和莫吉托一起玩。
在使用 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);
}
然后我找到了Mockito,因为我不想在测试期间接触数据库。我尝试编写一个 BeforeClass 作为数据提供程序。但是,当我在执行设置NewUnifyPriceRoom操作后尝试返回某些内容时,我卡住了
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(??????);
}
基本上我想做的是在设置NewUnifyPriceRoom之后,然后在然后返回部分中设置是UnifyPriceRoom方法返回"Y"。
任何帮助将不胜感激。
你不想嘲笑你正在测试的方法。您希望模拟setNewUnifyPriceRoom
内部发生的数据库交互,以便您可以验证代码的其余部分是否正常工作。