2019独角兽企业重金招聘Python工程师标准>>>
同一个mock 连续多次调用返回不同结果实现方式
Mockito.when(methodCall).thenReturn(1x).thenReturn(2x).thenReturn(nx)
/**
* 1,serService.checkUserNickName-->TRUE organizationService.checkOrgAccount-->FALSE
* 2,serService.checkUserNickName-->TRUE organizationService.checkOrgAccount-->TRUE
* 各两次后退出
*/
@Test
public void test_makeOrgAndUsername_checkUserNickName_true_and_checkOrgAccount_false() {
Mockito.when(userService.checkUserNickName(Mockito.anyString())).thenReturn(Boolean.TRUE).thenReturn(Boolean.TRUE);
Mockito.when(organizationService.checkOrgAccount(Mockito.anyString())).thenReturn(Boolean.FALSE).thenReturn(Boolean.TRUE);
String ss = impl.makeOrgAndUsername(C_USERNAME);
/**
* 当一次生成名称后 系统检查为被占用 此时
* 以下两个方法 各执行一次
* 间接证明 break 生效了
*/
Mockito.verify(userService, Mockito.times(2)).checkUserNickName(Mockito.anyString());
Mockito.verify(organizationService, Mockito.times(2)).checkOrgAccount(Mockito.anyString());
}
转载于:https://my.oschina.net/yangming0322/blog/749167
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)