请把两个方法整合到一起
时间: 2024-02-25 10:52:04 浏览: 122
好的,以下是整合后的代码:
```
import org.junit.*;
import org.mockito.*;
public class SmsTemplateServiceTest {
@Mock
private PushPlanSetMapper pushPlanSetMapper;
@Mock
private SmsTemplateMapper smsTemplateMapper;
@InjectMocks
private SmsTemplateService smsTemplateService;
@Before
public void setUp() {
MockitoAnnotations.openMocks(this);
}
@Test
public void testUpdateTemplate_shouldReturnTrue() {
// Arrange
SmsTemplatedTo smsTemplatedto = new SmsTemplatedTo();
smsTemplatedto.setTemplateId(1);
Mockito.lenient().when(pushPlanSetMapper.queryBindValidPushPlan(1)).thenReturn(new ArrayList<PushPlanMsgDTO>());
UserInfo userInfo = new UserInfo();
userInfo.setTlrId(1001);
userInfo.setInstNo(1);
UserContext.setUserInfo(userInfo);
// Act
boolean result = smsTemplateService.updateTemplate(smsTemplatedto);
// Assert
Assert.assertTrue(result);
Mockito.verify(smsTemplateMapper).updateTemplate(smsTemplatedto);
}
@Test
public void testUpdateTemplate_shouldReturnFalse() {
// Arrange
SmsTemplatedTo smsTemplatedto = new SmsTemplatedTo();
smsTemplatedto.setTemplateId(1);
List<PushPlanMsgDTO> pushPlanMsgDTOS = new ArrayList<>();
pushPlanMsgDTOS.add(new PushPlanMsgDTO());
Mockito.lenient().when(pushPlanSetMapper.queryBindValidPushPlan(1)).thenReturn(pushPlanMsgDTOS);
UserInfo userInfo = new UserInfo();
userInfo.setTlrId(1001);
userInfo.setInstNo(1);
UserContext.setUserInfo(userInfo);
// Act
boolean result = smsTemplateService.updateTemplate(smsTemplatedto);
// Assert
Assert.assertFalse(result);
Mockito.verify(smsTemplateMapper, Mockito.never()).updateTemplate(smsTemplatedto);
}
}
```
在整合后的代码中,我们将 testUpdateTemplate_shouldReturnTrue() 和 testUpdateTemplate_shouldReturnFalse() 方法合并到了一起。在两个测试方法中,我们都使用了 Mockito 框架来模拟 PushPlanSetMapper 和 SmsTemplateMapper 对象,并注入 SmsTemplateService 对象。在 setUp() 方法中初始化这些模拟对象。我们使用了 Mockito.lenient().when(xx).thenReturn() 来模拟 pushPlanSetMapper.queryBindValidPushPlan() 方法的返回值,并使用 Mockito.verify(xx).updateTemplate() 来验证 smsTemplateMapper.updateTemplate() 方法是否被正确调用。
阅读全文