加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

单元测试 – Mocking FacesContext

发布时间:2020-12-14 16:33:57 所属栏目:大数据 来源:网络整理
导读:我正在尝试向JSF应用程序添加一些单元测试.这个应用程序没有严格依赖于任何最佳实践,所以许多服务方法使用FacesContext从托管会话bean中提取数据,如下所示: (这是在一个util类中) public static Object getPageBean(String beanReference) { FacesContext f
我正在尝试向JSF应用程序添加一些单元测试.这个应用程序没有严格依赖于任何最佳实践,所以许多服务方法使用FacesContext从托管会话bean中提取数据,如下所示:

(这是在一个util类中)

public static Object getPageBean(String beanReference) {
      FacesContext fc = FacesContext.getCurrentInstance();
      VariableResolver vr = fc.getApplication().getVariableResolver();
      return vr.resolveVariable(fc,beanReference);
  }

什么是最好的方式来模拟这个?我正在使用groovy,所以我有更多的选择创建类,我不能正常创建.

解决方法

您可以在运行测试之前调用 setCurrentInstance(FacesContext),通过FacesContext.getCurrentInstance返回模拟上下文.该方法受到保护,但您可以通过反射或扩展FacesContext来访问它.有一个使用Mockito here的示例实现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读