code_junkie

Unit testing a java servlet

Nov 10th, 2011
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. public class OrdersPageTest {
  2. private static final String WEBSITE_URL = "http://localhost:8080/demo1";
  3.  
  4. @Before
  5. public void start() {
  6. webTester = new WebTester();
  7. webTester.setTestingEngineKey(TestingEngineRegistry.TESTING_ENGINE_HTMLUNIT);
  8. webTester.getTestContext().setBaseUrl(WEBSITE_URL);
  9. }
  10. @Test
  11. public void sanity() throws Exception {
  12. webTester.beginAt("/orderEntry.html");
  13. webTester.assertTitleEquals("Order Entry Form");
  14. }
  15. @Test
  16. public void idIsRequired() throws Exception {
  17. webTester.beginAt("/orderEntry.html");
  18. webTester.submit();
  19. webTester.assertTextPresent("ID Missing!");
  20. }
  21. @Test
  22. public void nameIsRequired() throws Exception {
  23. webTester.beginAt("/orderEntry.html");
  24. webTester.setTextField("id","AB12");
  25. webTester.submit();
  26. webTester.assertTextPresent("Name Missing!");
  27. }
  28. @Test
  29. public void validOrderSucceeds() throws Exception {
  30. webTester.beginAt("/orderEntry.html");
  31. webTester.setTextField("id","AB12");
  32. webTester.setTextField("name","Joe Bloggs");
  33.  
  34. //fill in order line one
  35. webTester.setTextField("lineOneItemNumber", "AA");
  36. webTester.setTextField("lineOneQuantity", "12");
  37. webTester.setTextField("lineOneUnitPrice", "3.4");
  38.  
  39. //fill in order line two
  40. webTester.setTextField("lineTwoItemNumber", "BB");
  41. webTester.setTextField("lineTwoQuantity", "14");
  42. webTester.setTextField("lineTwoUnitPrice", "5.6");
  43.  
  44. webTester.submit();
  45. webTester.assertTextPresent("Total: 119.20");
  46. }
  47. private WebTester webTester;
  48. }
  49.  
  50. myServlet.doGet(new HttpServletRequestWrapper() {
  51. public HttpSession getSession() {
  52. return mockSession;
  53. }
  54.  
  55. ...
  56. }
  57.  
  58. public void testSomething() {
  59. myServlet.doGet(createMockRequest(), createMockResponse());
  60. }
  61.  
  62. protected HttpServletRequest createMockRequest() {
  63. HttpServletRequest request = new HttpServletRequestWrapper() {
  64. //overrided methods
  65. }
  66. }
Add Comment
Please, Sign In to add comment