01 import org.apache.cactus.ServletTestCase;
02 import org.apache.cactus.WebResponse;
03
04 import javax.servlet.RequestDispatcher;
05
06 public class ServletToTestJSP extends ServletTestCase {
07
08 public ServletToTestJSP(String methodName) {
09 super(methodName);
10 }
11
12 String startTest = "testjsp";
13 String[] endTest;
14
15 /* Do tejto metódy môžete umiestniť logiku,
16 zodpovednú za získanie údajov pre JSP. Môžete využiť
17 napríklad JDBC alebo EJB. Pre názornosť to urobíme
18 veľmi jednoducho, nastavíme atribút objektu request*/
19 public void testForwardingToJsp() throws Exception {
20 this.request.setAttribute("test_string", startTest);
21 RequestDispatcher rd = this.config.getServletContext().getRequestDispatcher("/convert.jsp");
22 rd.forward(this.request, this.response);
23 }
24
25 /* V tejto metóde overíme, či odpoveď obsahuje
26 údaje, ktoré sme očakávali.*/
27 public void endForwardingToJsp(WebResponse webResponse) {
28 /* metóda getTextAsArray() vráti odpoveď
29 (okrem hlavičky) ako pole reťazcov; každý
30 záznam je jeden riadok z výstupného prúdu */
31 endTest = webResponse.getTextAsArray();
32 // náš porovnávaný reťazec má index 2
33 assertNotNull(endTest[2]);
34 assertEquals(startTest.toUpperCase(),endTest[2]);
35 }
36 }
|