Как правильно протестировать JPA / JSF веб-приложение с Maven, Jetty, HtmlUnit? - PullRequest
0 голосов
/ 03 июня 2011

Я пытаюсь использовать Maven, Jetty и HtmlUnit для тестирования веб-приложения, написанного с использованием JPA2.0, JSF.Я не совсем понимаю, как это сделать правильно.Например, я получаю совершенно разные результаты в зависимости от того, какую версию maven-jetty-plugin я использую:

6.1.x: ошибка во время тестов, я не могу разобрать базовый JSF ...

Running xxx.xxx.my.functional.HtmlUnitTest
2011-06-03 19:41:54.741:WARN::/project1/index.html
javax.faces.view.facelets.TagAttributeException: /index.xhtml 
@37,60 value="#{item.availability.toString()}" Error Parsing: 
#{item.availability.toString()}

7.0.0.pre5 (или, во всяком случае, на самом деле): предположительно запускается, затем молча зависает (я должен убить его).

[INFO] Starting jetty 7.0.0.pre5 ...
2011-06-03 19:50:59.035::INFO:  jetty-7.0.0.pre5
2011-06-03 19:51:18.381::INFO:  No Transaction manager found - if your webapp requires one, please configure one.
2011-06-03 19:51:20 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra 2.1.0 (FCS 20110303) for context '/projekt1'
2011-06-03 19:51:21 com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp
INFO: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container.
2011-06-03 19:51:21.389::INFO:  Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server

Любые предложения приветствуются, как тривиальные «тесты» (Assert.assertTrue(true)т.е. никаких реальных испытаний вообще) пройти успешно и остановка причала после успешного тестирования.

1 Ответ

1 голос
/ 01 декабря 2011

Я просто хотел зайти и сообщить, что если вы пытаетесь запустить Mojarra (JSF) 2.1.0 под tomcat или Jetty;что это несовместимо.Смотрите эту ссылку Известные проблемы Мохарры .«Известно, что этот выпуск Mojarra не работает в Apache Tomcat или Jetty. Поддержка Tomcat и Jetty будет восстановлена ​​в следующем выпуске. Известно, что он работает в Oracle WebLogic и Oracle GlassFish.»

Mojarra 2.1.1+ исправил эту проблему, даже если он по-прежнему не решен.У меня есть моджарра 2.1.4 (текущая по состоянию на 01.12.11), работающая на Tomcat 6.0.33 в настоящее время.Посмотрите эту запись от BalusC, чтобы узнать подробнее об исправлении mojarra.

Кроме того, я считаю, что предупреждение о JSF1027, которое вы получаете, связано с параметром context в вашем web.xml:

<context-param>
<param-name>com.sun.faces.expressionFactory</param-name>
<param-value>com.sun.el.ExpressionFactoryImpl</param-value></context-param>

Я прокомментировал его в своем файле web.xml и poof,больше нет JSF1027 (ELResolvers для JSF не были зарегистрированы в контейнере JSP.) ошибки;и EL все еще разрешает на моих страницах JSF.:)

...