Как я могу тестировать сервлеты с помощью JUnit?
Я видел, что у Jetty есть и класс ServletTest, который вы можете использовать для тестирования сервлетов.
tester = new ServletTester();
tester.setContextPath("/");
tester.addServlet(TestServlet.class, "/servlet/*");
...
tester.start();
Вы не знаете, есть ли что-то подобное в Tomcat? Как я могу протестировать сервлет?
3 ответа:
У HttpUnit есть "смоделированный контейнер", называемый ServletUnit.
Взгляните на Джакартский кактус
Cactus-это простая тестовая платформа для модульного тестирования серверного кода java (сервлеты, EJBs, Tag Libs, фильтры,...).
Я никогда не находил преимущества в тестировании сервлетов напрямую (или, скажем, действия Struts), особенно учитывая работу, необходимую для этого.
Большинство моих сервлетов / действий / чего бы то ни было используют POJO для основной части своей работы, и POJO сильно протестированы. Сами веб-приложения имеют наборы тестов HtmlUnit. Все, что между ними, я полагаю, просто водопровод.
Я не верю, что я даже однажды столкнулся с какой-либо ошибкой, которая была бы поймана только при тестировании сервлета классы напрямую, и что бы не попасться на объект POJO или веб-приложение тесты.