Привет, я много рассказывал об этом. Я хочу протестировать приложение JSf без его развертывания на сервере, поэтому в основном я хочу выполнить макетный тест, например test. Я раньше использовал JSFUnit. Если это возможно с самим JSFUnit, КАК ДЕЛАТЬ? Есть ли какая-либо другая структура тестирования JSF 2.0, которая проста в использовании и может имитировать контейнер для запуска тестов без контейнера? [Наряду с именами, пожалуйста, предоставьте несколько руководств или примеров ссылок] Пожалуйста, помогите !!Как тестировать приложение JSF без его развертывания на сервере?
ответ
Вы можете проверить Arquillian Project
Вы найдете канд 1h видеоурки на тестирование JSF-приложениях с Arquillian и селен here
Обновлено Февраль 2018: OpenBrace Limited has closed down и его ObMimic продукта больше не поддерживается.
Хотя не специально разработан для тестирования JSF, может оказаться пригодной библиотека тестовых удлинений Servlet API ObMimic.
Он обеспечивает простое Java-тестирование, основанное на контейнерах объектов Servlet API, которые достаточно точны и достаточно конфигурируемы, чтобы иметь возможность запускать сервлет JSF. Это позволяет протестировать полные GET и POST-файлы на страницах JSF без необходимости развертывания на сервере или использования контейнера.
Ваши тесты могут создавать и настраивать любые объекты Servlet API для каждого теста (включая ServletContext с любыми необходимыми ресурсами, сопоставлениями и т. Д.), Использовать их для инициализации и вызова сервлета JSF для обработки запроса, а затем для изучения Результаты. В ваших тестах также можно установить JSF PhaseListeners для доступа к FacesContext и изучить любые соответствующие структуры данных JSF в соответствующих точках во время обработки JSF.
Веб-сайт и документация ObMimic содержат руководство по "How to Test JSF Pages", которое подробно рассматривается в этом документе, включая пример кода.
Обратите внимание, что, а также тестирование «реальных» JSF-страниц, вы также можете использовать этот подход с конкретными страницами JSF-теста, которые просто вызывают или запускают любой код JSF, который вы пытаетесь протестировать (т.е. каждый тест может установить любой желаемый JSF-файл текст страницы в ServletContext, а затем использовать сервлет JSF для его запуска).
Это выглядит действительно круто. К сожалению, ObMimic рассматривает некоторые вызовы API сервлета, сделанные mojarra как «неоднозначность API». Их можно решить, только если вы используете платную версию ObMimic. Так как бесплатное решение для тестирования JSF за пределами контейнера, это не выход. :( –
Какие тесты вы пытаетесь выполнить? Модуль тестирования кода Java? Интеграция-тестирование поведения представления XHTML? – McDowell