2016-03-08 63 views
0

所以我的应用程序运行在JSF 1.2,并使用春豆IOC注入类为基于Spring上下文XML配置辅助bean。如何获得使用JSFUnit和Spring IoC豆在JSF 1.2

我正在使用JSFUnit进行测试,我可以浏览页面并在我的Backing Bean值上声明,但是我无法访问任何注入的bean。

我知道JSFUnit已经被广告做白盒测试,但到目前为止,我只能做类似于Arquilian的容器内测试的东西。

任何人都可以帮助我访问业务对象,我有(一旦我打开了有关备份Bean的页面,由Spring注入)?谢谢 !

回答

0

我找到了答案,一旦你导航到你的页面,你可以简单地通过bean名字返回豆你的测试用例调用这个方法,它是如此整洁:

@SuppressWarnings("unchecked") 
public static <T> T findBean(String beanName) { 
    FacesContext context = FacesContext.getCurrentInstance(); 
    return (T) context.getApplication().evaluateExpressionGet(context, "#{"+beanName+"}", Object.class); 
} 

现在JSFUnit成为更有用!