Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSF1.2上使用JSFUnit获得SpringIoCbean_Java_Spring_Jsf_Junit_Jsfunit - Fatal编程技术网

Java 如何在JSF1.2上使用JSFUnit获得SpringIoCbean

Java 如何在JSF1.2上使用JSFUnit获得SpringIoCbean,java,spring,jsf,junit,jsfunit,Java,Spring,Jsf,Junit,Jsfunit,因此,我的应用程序运行在jsf1.2上,并使用springbean IOC根据springcontextxml配置将类注入到支持bean中 我正在使用JSFUnit进行测试,我可以在页面中导航并在我的支持Bean值上断言,但是我还无法访问任何注入的Bean 我知道JSFUnit被宣传做白盒测试,但到目前为止,我只能做类似于用Arquilian做的容器内测试的事情 一旦我打开与支持Bean相关的页面,有人能帮助我访问我已经(由Spring注入的)业务对象吗?谢谢 我找到了答案,一旦你导航到你的页面

因此,我的应用程序运行在jsf1.2上,并使用springbean IOC根据springcontextxml配置将类注入到支持bean中

我正在使用JSFUnit进行测试,我可以在页面中导航并在我的支持Bean值上断言,但是我还无法访问任何注入的Bean

我知道JSFUnit被宣传做白盒测试,但到目前为止,我只能做类似于用Arquilian做的容器内测试的事情


一旦我打开与支持Bean相关的页面,有人能帮助我访问我已经(由Spring注入的)业务对象吗?谢谢

我找到了答案,一旦你导航到你的页面,你可以在你的测试用例中调用这个方法,这个方法只需按bean名称返回bean,它非常简洁:

@SuppressWarnings("unchecked")
public static <T> T findBean(String beanName) {
    FacesContext context = FacesContext.getCurrentInstance();
    return (T) context.getApplication().evaluateExpressionGet(context, "#{"+beanName+"}", Object.class);
}
@SuppressWarnings(“未选中”)
公共静态T findBean(字符串beanName){
FacesContext context=FacesContext.getCurrentInstance();
return(T)context.getApplication().evaluateExpressionGet(context,“#{”+beanName+“}”,Object.class);
}
现在JSF单元变得更有用了