【发布时间】:2018-09-13 01:46:42
【问题描述】:
我正在尝试使用 junit 测试服务类中的 void 方法。我不确定如何测试它。
代码:
public class Service{
private static final Logger LOGGER = LogManager.getLogger(Service.class);
private final ServiceDAO serviceDAO;
private final RtyDAO rtyDAO;
public Service(ServiceDAO serviceDAO,
RtyDAO rtyDAO) {
this.serviceDAO = serviceDAO;
this.rtyDAO = rtyDAO;
}
public void voidMethod(JSONObject object) {
try {
Rty rty = serviceDAO.getSomething();
String output = rtyDAO.persist(rty);
if("TRUE".equalsIgnoreCase(output)){
LOGGER.info("Success"):
}else{
LOGGER.info("Failure"):
}
}
}
由于上述方法无效,我不确定如何测试。我正在尝试如下:
public class ServiceTest {
@InjectMocks
Service service;
@Mock
RtyDAO RtyDAO;
@Mock
Rty rty;
@Mock
ServiceDAO serviceDAO;
@Test
public void testVoid(){
Mockito.when(serviceDAO.getSomething()).thenReturn(rty);
Mockito.when(rtyDAO.persist(rty)).thenReturn("Success");
//how to test result here if the persisting happened without any issues?
}
【问题讨论】:
标签: java unit-testing junit mockito