Мы проводили тестирование обычных методов простых классов не связанных с WEB(Session,request,response...)Я хотела протестировать(что если пользователь не ввел в поле свое имя если поле пустое то response.sendRedirect("index.jsp");
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/hello")
public class MyServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
Integer visitCounter = (Integer) session.getAttribute("visitCounter");
if (visitCounter == null) {
visitCounter = 1;
} else {
visitCounter++;
}
response.setCharacterEncoding("UTF-8");
session.setAttribute("visitCounter", visitCounter);
String name = request.getParameter("name");
session.setAttribute("name", name);
session.getAttribute("name");
response.setContentType("text/html");
if (name == "") {
response.sendRedirect("index.jsp");
} else {
request.setAttribute("visitCounter", visitCounter);
request.setAttribute("name", name);
request.getRequestDispatcher("one.jsp").forward(request, response);
}
}
перерыла кучу информации но под мой случай получается какая то каша.вот что получается
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
public class MyServletTest {
@DisplayName("проверка что на пустой ввод имени отправляет на страницу "index.jsp" ")
@Test
void doGetTest() throws IOException, ServletException {
MyServlet myServlet = mock(MyServlet.class);
HttpServletRequest request = mock(HttpServletRequest.class);
HttpServletResponse response = mock(HttpServletResponse.class);
Mockito.when(request.getParameter("name")).thenReturn("");
myServlet.doGet(request,response);
verify(response).sendRedirect("index.jsp");
}
Хотела помощи направить в нужном направлении.например мок чего делать(сессии респонса реквеста или майсервлета).....(((((((((((
Виктория
101 уровень
Я хотела протестировать (что если пользователь не ввел в поле свое имя если поле пустое то response.sendRedirect("index.jsp");
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
KIRAРазработчик в prosv.ruExpert
19 августа 2022, 18:49полезный
if (name == "") строки так не сравнивают, есть метод equals(), а для проверки на пустое поле есть метод
+1