你好,我一直在谷歌上搜索这个。我想在不将其部署到服务器的情况下测试我的 JSf 应用程序,所以基本上我想执行类似测试的模拟测试。我以前用过 JSFUnit。如果 JSFUnit 本身可能,该怎么做?是否有任何其他 JSF 2.0 测试框架易于使用并且可以模拟容器以在没有容器的情况下运行测试?[连同名称,请提供一些教程或示例参考资料]请帮助!
2 回答
你可以看看Arquillian 项目
您可以在此处找到有关使用 Arquillian 和 Selenium 测试 JSF 应用程序的 1 小时视频教程
2018 年 2 月更新:OpenBrace Limited 已关闭,不再支持其 ObMimic 产品。
尽管不是专门为 JSF 测试设计的,但ObMimic Servlet API 测试替身库可能是合适的。
它提供了纯 Java、容器外的 Servlet API 对象模拟,这些模拟足够准确且可配置,足以运行 JSF servlet。这使您无需部署到服务器或使用容器即可测试 JSF 页面的完整 GET 和 POST。
您的测试可以创建和配置每个测试所需的任何 Servlet API 对象(包括具有任何必要资源、映射等的 ServletContext),使用这些对象来初始化和调用 JSF servlet 来处理请求,然后检查结果。您的测试还可以安装 JSF PhaseListener 来访问 FacesContext 并在 JSF 处理期间的适当点检查任何相关的 JSF 数据结构。
ObMimic 网站和文档包括“如何测试 JSF 页面”指南,其中详细介绍了这一点,包括示例代码。
请注意,除了测试“真实的”JSF 页面外,您还可以将此方法用于特定于测试的 JSF 页面,这些页面只是调用或触发您尝试测试的任何 JSF 代码(即每个测试都可以将任何所需的 JSF 页面文本安装到ServletContext 然后使用 JSF servlet 运行它)。