Не могу смоделировать вызовы методов с помощью Mockito - PullRequest
0 голосов
/ 24 декабря 2018

Я использую Mockito в моих тестовых примерах JUnit.У меня есть приложение Java, соответствующая часть метода:

if (requestType.equalsIgnoreCase("Open") || requestType.trim().equals("")) {
                    if (daysBack != null) {
                        openClosedFaultStatusRequestData = openClosedFaultStatusRequestDao.getFmOvOnOpenFasoId(value);
                        if (openClosedFaultStatusRequestData == null) {
                            isOpenFasoPresent = false;
                            logger.info("isOpenFasoPresent false for open faso");
                        } else {
                            isOpenFasoPresent = true;
                            logger.info("openClosedFaultStatusRequestData: " + openClosedFaultStatusRequestData.getFasoId());
                            fasxml.appendFasoOpenClosedFault(openClosedFaultStatusRequestData);
                            fasxml.appendNoOfTT(recordCnt);
                            fasxml.setStatus(fasXML.SUCCESS_REPLY);
                            tmptime = new fasDate(new java.util.Date());
                            endTime = tmptime.format(fasDate.FAS_DATETIME_FORMATTER);
                            fasXMLreply = fasxml.makereplyXML(DataConstants.OPEN_CLOSED_FASO_STATUS_REQ);

Это в методе OpenClosedFaultsStatusRequestFunction.getFasoDetailsForFASOID()

Мой метод JUnit, где я издеваюсь, выглядит так:

@Test
    public void getFasoDetailsByFasoId() {
        OpenClosedFaultStatusRequestDAO openClosedFaultStatusRequestDao = Mockito.mock(OpenClosedFaultStatusRequestDAO.class);
        Mockito.when(openClosedFaultStatusRequestDao.getFmOvOnOpenFasoId(Mockito.anyString())).thenReturn(openClosedFaultStatusRequestData);

        replyXml = openClosedFaultsStatusRequestFunction.getFasoDetailsForFASOID(anyString);
        System.out.println(replyXml);

    }

Моя идея состоит в том, чтобы смоделировать вызов dao из метода в сервисе clacc, но когда я выполняю свой тестовый пример, он дает NullPointerException в строке openClosedFaultsStatusRequestFunction.getFasoDetailsForFASOID (anyString);потому что вызов дао из моего класса обслуживания не высмеивается.Может ли кто-нибудь предложить правильный подход?

...