From 5e2a6a97fafbc4c4d9a9975020edb64cc4e10439 Mon Sep 17 00:00:00 2001 From: Shubham Aggarwal Date: Mon, 28 Nov 2016 11:03:13 +0530 Subject: [PATCH] Test made using Mockito and JUnit --- .../src/main/java/com/root/FormServlet.java | 17 +++---- .../test/java/com/root/FormServletTest.java | 45 +++++++++++++------ 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/javax-servlets/src/main/java/com/root/FormServlet.java b/javax-servlets/src/main/java/com/root/FormServlet.java index 5c11a586d3..be83cece8f 100644 --- a/javax-servlets/src/main/java/com/root/FormServlet.java +++ b/javax-servlets/src/main/java/com/root/FormServlet.java @@ -7,6 +7,7 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.io.PrintWriter; @WebServlet(name = "FormServlet", urlPatterns = "/calculateServlet") public class FormServlet extends HttpServlet { @@ -19,9 +20,12 @@ public class FormServlet extends HttpServlet { String weight = request.getParameter("weight"); try { - Double bmi = calculateBMI(Double.parseDouble(weight), Double.parseDouble(height)); - + double bmi = calculateBMI(Double.parseDouble(weight), Double.parseDouble(height)); request.setAttribute("bmi", bmi); + + PrintWriter out= response.getWriter(); + out.write(String.valueOf(bmi)); + RequestDispatcher dispatcher = request.getRequestDispatcher("index.jsp"); dispatcher.forward(request, response); } catch (Exception e) { @@ -30,15 +34,8 @@ public class FormServlet extends HttpServlet { } } - @Override - protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - - // do something else here - } - private Double calculateBMI(Double weight, Double height) { return weight / (height * height); } -} +} \ No newline at end of file diff --git a/javax-servlets/src/test/java/com/root/FormServletTest.java b/javax-servlets/src/test/java/com/root/FormServletTest.java index 12545317c6..2d6ce22db5 100644 --- a/javax-servlets/src/test/java/com/root/FormServletTest.java +++ b/javax-servlets/src/test/java/com/root/FormServletTest.java @@ -1,34 +1,51 @@ package com.root; +import org.junit.Before; import org.junit.Test; -import org.mockito.Mockito; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.io.StringWriter; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; -/** - * Created by shubham on 27/11/16. - */ -public class FormServletTest extends Mockito { +public class FormServletTest { + + @Mock + HttpServletRequest request; + + @Mock + HttpServletResponse response; + + @Mock + RequestDispatcher requestDispatcher; + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } @Test public void testFormServlet() throws Exception { - HttpServletRequest request = mock(HttpServletRequest.class); - HttpServletResponse response = mock(HttpServletResponse.class); + when(request.getParameter("height")).thenReturn("2"); + when(request.getParameter("weight")).thenReturn("80"); - when(request.getParameter("userName")).thenReturn("baeldung"); - when(request.getParameter("userPlanet")).thenReturn("Mars"); - - PrintWriter writer = new PrintWriter(new StringWriter()); - when(response.getWriter()).thenReturn(writer); + StringWriter sw = new StringWriter(); + PrintWriter pw = new PrintWriter(sw); + when(response.getWriter()).thenReturn(pw); new FormServlet().doPost(request, response); - assertTrue(request.getParameter("userName").contains("baeldung")); + verify(request).setAttribute("bmi", 20.0); + + String result = sw.getBuffer().toString().trim(); + assertEquals("20.0", result); } }