如果我正确理解您的问题,那么为您的页面创建特殊的虚拟支持 bean,然后创建将这些 bean 映射到 .jspx 文件的测试 JSF 配置文件应该是一件简单的事情。当然,虚拟 bean 不会涉及任何业务逻辑或后端服务——它们只是简单的数据集,在您的测试中很容易验证。
创建一个 ant 脚本来替换您的虚拟支持 bean 和测试配置文件。运行你的测试。如果您不想要像 HTTPUnit 这样繁重的东西,并且如果您在应用程序中使用 Spring,请查看此博客文章,了解如何在没有 Web 服务器的情况下模拟完整的 Web 上下文。您的测试可能需要嗅探原始 HTML 输出以验证结果。这会很棘手,因为 IceFaces 喜欢处理 DIV ID 和 DOM 树的其他相关部分,您可能想要嗅探这些部分。(仅此一项可能就是很少有 JSF 开发人员尝试对 JSF 输出进行单元测试的原因。)
验证测试后,将常规 bean 和配置文件交换回应用程序。
瞧!您刚刚对 JSF 组件进行了单元测试。
Mind you, the whole business of swapping out beans and config files is messy. It would be much, much easier if IceFaces used Spring to match backing beans to JSF pages -- then you could simply define the test-beans in an application.xml with the relevant test classes. But such is life.
Good luck, and let me know how it works out for you!