我有一个实用方法,我想为其编写单元测试。由于该实用程序在 webapp 下运行,因此它旨在从 WebApplicationContext 获取 Spring bean。(以下代码未进行单元测试) Action bean类
private IUnitBiz unitBiz;
public UnitBean()
{
unitBiz = CommonUtils.getBean(IUnitBiz.class);
}
在 CommonUtils.class 中
public static ApplicationContext getWebApplicationContext() {
return FacesContextUtils.getWebApplicationContext(FacesContext.getCurrentInstance());
}
public static <T> T getBean(Class<T> beanType) {
return getWebApplicationContext().getBean(beanType);
}
------------------在单元测试中----------------
在单元测试中它返回 null,我如何为我的单元测试初始化 WebApplicationContext 或 getBean? 当我新建action bean时,getBean方法返回null。
最佳答案
EasyMock可能是一个解决方案。
示例:
WebApplicationContext mockWebApplicationContext = EasyMock.createMock(WebApplicationContext.class);
MockServletContext mockServletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,
mockWebApplicationContext);
EasyMock.expect(mockWebApplicationContext.getServletContext()).andReturn(mockServletContext).anyTimes();
关于spring - 在单元测试中初始化WebApplicationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055803/