Я хотел бы спросить вас, какие существуют технологии для создания модульных тестов для JSP.
Я уже знаю возможности HtmlUnit/HttpUnit/JWebUnit/Selenium.
Спасибо!
Я хотел бы спросить вас, какие существуют технологии для создания модульных тестов для JSP.
Я уже знаю возможности HtmlUnit/HttpUnit/JWebUnit/Selenium.
Спасибо!
Я бы сказал, что тестирование веб-приложения (будь то JSP или другое) с использованием его веб-интерфейса, причем одна из вышеупомянутых фреймворков не является модульным тестированием в строгом смысле. Единичное тестирование означает тестирование небольших частей вашего приложения (один метод, один класс) изолированно. С веб-каркасом вы тестируете веб-приложение в целом, так что это больше похоже на тест системы или интеграции. Что не означает, что это не полезно - наоборот - просто лучше уточнить терминологию.
Сказав, что если бы я тестировал JSP, я бы, скорее всего, был удовлетворен системным тестом всех конкретных сценариев, связанных с JSP, используя некоторые из упомянутых выше инструментов.
Однако, если вы действительно хотите "классические" модульные тесты, я думаю, что самое близкое, что вы можете получить, это компиляция вашего JSP в класс сервлета, а затем вызов методов сервлета напрямую (например, JUnit, используя насмешливую структуру, такую как EasyMock, чтобы подготовить объекты запроса Http, ответ и т.д.).
Обновление:. ИМО - единственная причина, по которой нужны единичные тесты для JSP, - если у вас есть бизнес-логика. Что, в свою очередь, противоречит разделению пользовательского интерфейса и бизнес-уровня. Поэтому лучше перепроектировать приложение и переместить логику в отдельную POJO (если у вас есть выбор), чем попытаться написать надуманные модульные тесты, чтобы протестировать бизнес-логику там, где она не принадлежит.