如何在不将其部署到服务器的情况下测试JSF应用程序?

时间:2013-02-11 09:38:07

标签: java jsf jsfunit

你好我一直在谷歌搜索这个。 我想测试我的JSf应用程序而不将其部署到Server中,所以基本上我想要像test一样执行模拟测试。 我之前使用过JSFUnit。如果它可能与JSFUnit本身,如何做? 是否有任何其他JSF 2.0测试框架易于使用,并且可以模拟容器以运行没有容器的测试? [除了名称,请提供一些教程或示例参考也] 请帮忙!!

2 个答案:

答案 0 :(得分:4)

您可以查看Arquillian Project

你可以找到一个关于使用Arquillian和Selenium测试JSF应用程序的1h视频教程here

答案 1 :(得分:1)

2018年2月更新:OpenBrace Limited has closed down,不再支持其ObMimic产品。

虽然不是专门为JSF测试而设计的,但是ObMimic Servlet API测试复合库可能是合适的。

它提供了Servlet API对象的普通Java容器外模拟,这些模拟足够准确且可配置足以运行JSF servlet。这使您可以测试JSF页面的完整GET和POST,而无需部署到服务器或使用容器。

您的测试可以创建和配置每个测试所需的Servlet API对象(包括带有任何必要资源的ServletContext,映射等),使用这些对象初始化并调用JSF servlet来处理请求,然后检查结果。您的测试还可以安装JSF PhaseListeners来访问FacesContext,并在JSF处理期间的适当位置检查任何相关的JSF数据结构。

ObMimic网站和文档包含一个"How to Test JSF Pages"指南,详细介绍了该指南,包括示例代码。

请注意,除了测试“真正的”JSF页面之外,您还可以将此方法用于特定于测试的JSF页面,这些页面只调用或触发您尝试测试的任何JSF代码(即每个测试都可以安装任何所需的JSF页面将文本写入ServletContext,然后使用JSF servlet运行它。)