Разработка через JSP специально для тестирования - PullRequest
5 голосов
/ 28 ноября 2010

Я писал тестовый код еще до того, как понял, что такое TDD. Вызов функций и классов без их реализации помогает мне понять и построить мое приложение намного быстрее и эффективнее. Поэтому я очень использовал процесс написания кода -> его компиляции -> увидев, что он не работает -> исправляя его, создавая его реализацию.

Этот процесс немного сложнее для Интернета. В частности, JSP. Когда я компилирую свои классы Java, все нормально, я вижу ошибки компиляции. Однако, чтобы увидеть ошибки в JSP, мне нужно открыть браузер и вызвать этот конкретный JSP.

Есть ли способ избежать этого процесса и показать мне ошибки компиляции JSP без фактической загрузки браузера?

Ответы [ 3 ]

3 голосов
/ 28 ноября 2010

Конечно.Вы можете предварительно скомпилировать JSP.Есть даже задача муравья, которая делает это.Пожалуйста, обратитесь по ссылке: http://ant.apache.org/manual/Tasks/jspc.html

Но я думаю, что это только первый шаг.Это позволит вам увидеть ошибки компиляции.Я думаю, что вы хотели больше, то есть модульных тестов.Я считаю, что такие инструменты, как Jakarta Cactus (или другие) могут вам помочь.

Кстати, недавно я обнаружил следующий ресурс , который перечисляет огромное количество инструментов тестирования Java.

2 голосов
/ 28 ноября 2010

Я обычно не тестирую JSP напрямую. Как правило, хорошей идеей является сохранять как можно меньше логики в ваших JSP, и если вы JSP содержат только несколько тегов <c:out>, то тестировать не так уж и много. Однако, если у вас есть достаточное количество логики внутри них, то я бы извлек эту логику в пользовательский тег, который можно довольно легко протестировать.

1 голос
/ 28 ноября 2010

Компиляция - это легкая часть, и я думаю, что ответ AlexR справится с этим отлично.

Тестирование и тестирование JSP сложно, так как для его тестирования действительно необходимо развернуть его в веб-контейнере или смоделировать (смоделировать) его, запустить через браузер или что-то похожее на браузер.

Кактус может помочь в тестировании в контейнере. Селен тоже может.

Или вы можете издеваться над окружающей средой. Если вы используете Spring , у него есть хорошая поддержка для этого.

Но лучший способ справиться со сложностью тестирования и управления JSP - это вообще прекратить использование JSP или, по крайней мере, минимизировать логику в вашем коде JSP, избегая скриплетов.

Поскольку JSP - это просто замаскированный сервлет, всегда можно писать веб-приложения без JSP, и есть варианты с использованием таких фреймворков, как Wicket и Tapestry или шаблонизаторов, таких как Velocity для упрощения разработки веб-приложений на Java без JSP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...