我在项目中使用Spring,SpringMVC,Mybatis
第一次和Mockito一起玩。
在使用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作为数据提供者。但是,在我执行了 setNewUnifyPriceRoom 操作
之后,当我尝试返回某些内容时,我陷入了困境 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(??????);
}
基本上我想做的是在执行 setNewUnifyPriceRoom 之后,然后在thenReturn部分设置 isUnifyPriceRoom 方法返回" Y"。
任何帮助将不胜感激。
答案 0 :(得分:0)
您不想嘲笑您正在测试的方法。您想模拟setNewUnifyPriceRoom
内发生的数据库交互,以便您可以验证其余代码是否正常工作。