Исключение нулевого указателя в тестовом примере JUnit - PullRequest
0 голосов
/ 02 марта 2020

Можно ли написать контрольный пример для конкретного случая.

public void saveStaffInfo(HttpServletResponse response, RegBean regdata, Staffinfo staffType, boolean status) 
throws IOException {

    if (status) 
    {
        boolean status1 = staffType.insertlogin(regdata);
        if(status1) {
            response.sendRedirect("registration.jsp?status=success");
        }
        else {
            response.sendRedirect("registration.jsp?status=login_table_error");   
        }
    } else {
        response.sendRedirect("registration.jsp?status=failed"); 
    } 
}

Я издевался над HttpServeletResponse, RegBean, Staffinfo. Однако, поскольку он имеет тип void , поэтому я не могу использовать doReturn (). When (mockedMethod). (SomeMethod). Итак, как мне проверить эти строки? Мне также нужно покрытие кода. Я очень новичок в этом. Тестовый кейс

@Test
public void testSaveStaffInfo() throws IOException, ServletException{
    boolean status =true;
    // System.out.println(iStaffInfo.insertlogin(regdata));
    Mockito.when(iStaffInfo.insertlogin(regdata)).thenReturn(Boolean.TRUE );
    reg.saveStaffInfo(response, regdata, iStaffInfo,status);     
}

1 Ответ

0 голосов
/ 02 марта 2020

Вам нужно подумать, что именно вы хотите проверить здесь. Что такое «выход»? «Вывод» здесь заключается в том, что метод что-то делает с вашим HttpServletResponse, он вызывает sendRedirect.

Вы можете проверить, что определенные методы вызываются на ваших поддельных (или реальных) объектах с помощью Mockito. проверить

...