@Override public boolean deleteTemplate(String tempateId) { List<PushPlanMsgDTO> pushPlanMsgDTos = pushPlanSetMapper.queryBindValidPushPlan(tempateId); if(!CollectionUtils.isEmpty(pushPlanMsgDTos)){ throw BizExeeption.error( warnningMessage:"该计划绑定了生效中的营销推送计划,不允许修改!");} smsTemplateMapper.deleteTemplate(tempateId); return true; } 根据以上代码生成单元测试案例,需要使用mockito.lenient().when(xx).thenReturn,这是删除的测试案例 请顺便推测增删改的测试代码
时间: 2024-03-01 08:50:50 浏览: 57
根据以上代码,可以生成如下的单元测试案例:
```
@Test
public void testDeleteTemplate() {
// 创建一个模拟的PushPlanMsgDTO列表
List<PushPlanMsgDTO> pushPlanMsgDTos = new ArrayList<>();
// 创建一个模拟的模板ID
String templateId = "templateId";
// 模拟查询绑定的PushPlanMsgDTO列表
Mockito.lenient().when(pushPlanSetMapper.queryBindValidPushPlan(templateId)).thenReturn(pushPlanMsgDTos);
// 模拟删除模板
Mockito.lenient().doNothing().when(smsTemplateMapper).deleteTemplate(templateId);
// 调用被测试方法
boolean result = xxxService.deleteTemplate(templateId);
// 验证结果是否正确
Assert.assertTrue(result);
// 验证是否正确调用了绑定查询方法和删除模板方法
Mockito.verify(pushPlanSetMapper, Mockito.times(1)).queryBindValidPushPlan(templateId);
Mockito.verify(smsTemplateMapper, Mockito.times(1)).deleteTemplate(templateId);
}
```
增加和修改的测试代码可以参考上面的测试案例进行编写,只需要模拟对应的方法和参数即可。
阅读全文