2010-11-28 3 views
5

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

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

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

ответ

2

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

3

Конечно. Вы можете предварительно скомпилировать JSP. Это делает даже муравьиную задачу. См. Ссылку: http://ant.apache.org/manual/Tasks/jspc.html

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

BTW Недавно я нашел следующее resource, которое перечисляет огромное количество инструментов тестирования Java.

+0

+1 JspC - это не просто задача муравья, это оболочка для встроенного компилятора Tomcat JSP->, который вы можете использовать как часть любой среды сборки. @Luca: Даже если вы не используете Tomcat в качестве вашего JEE-сервера, это может быть удобным инструментом в вашем процессе: http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/jasper /JspC.html – 2010-11-28 10:31:52

+0

«2011/08/05 - Кактус Джакарты вышел на пенсию». – Raedwald 2013-06-10 12:30:39

1

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

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

Cactus может помочь в испытаниях внутри контейнера. Selenium может также.

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

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

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

Смежные вопросы