Если я правильно понимаю ваш вопрос, то это должно быть простым делом для создания специальных фиктивных бэкбонов для ваших страниц, а затем создания теста Файл конфигурации JSF, сопоставляющий эти beans-файлы с файлами .jspx. Разумеется, фиктивные компоненты не будут касаться какой-либо бизнес-логики или вспомогательных служб - они будут просто простыми наборами данных, которые будут легко проверяться в ваших тестах.
Создайте скрипт муравья, который будет заменен в ваших фиктивных бэкэндах и тестовом конфигурационном файле. Запустите тесты. Если вы не хотите что-то столь же тяжелое, как HTTPUnit, и если вы используете Spring в своем приложении, посмотрите на this blog post для отличного способа создания полного веб-контекста без веб-сервера. Вероятно, ваши тесты будут обнюхать исходный HTML-вывод, чтобы проверить результаты.Это будет сложно, потому что IceFaces любит делить идентификаторы DIV и другие соответствующие части дерева DOM, которые вы, возможно, захотите понюхать. (Это само по себе может быть причиной того, что очень немногие разработчики JSF пытаются выполнить единичный тестовый вывод JSF.)
Как только ваши тесты будут проверены, замените обычные бобы и файл конфигурации обратно в приложение.
Voila! Вы только что тестировали свои компоненты JSF.
Имейте в виду, что вся деятельность по замене фасоли и файлов конфигурации беспорядочна. Было бы намного проще, если бы IceFaces использовали Spring для сопоставления бэкбонов с страницами JSF - тогда вы могли бы просто определить тестовые компоненты в application.xml с соответствующими тестовыми классами. Но такова жизнь.
Удачи, и дайте мне знать, как это работает для вас!
Для всех начинающих дизайнеров рамок ... пожалуйста, подумайте о том, как лучше всего разместить тестирование на этапе проектирования. :-P –
Аминь! Это определенно конструктивное ограничение, которое нужно учитывать. – Ryan