我正在使用Struts2 JUnit插件测试我的Struts2Web应用程序,遵循Unit Testing。
在我的web应用程序中,我使用fullHibernateCore-plugin-1.4
来集成Hibernate功能。
当我测试执行一些Hibernate内容的操作时,它返回NullPointerException
。
据我所知,由于Struts2 JUnit插件使用假容器来执行操作,所以HibernateSession
不会被触发。
我该如何解决这个问题?
这是一个测试示例:
public class testRegisterAction extends StrutsTestCase {
public void testGetActionProxy() throws Exception {
//set parameters before calling getActionProxy
request.setParameter("user.name", "TestName");
ActionProxy proxy = getActionProxy("/userRegister.action");
assertNotNull(proxy);
RegistrationAction action = (RegistrationAction) proxy.getAction();
assertNotNull(action);
}
发布于 2013-03-22 22:49:53
这不是一个Hibernate错误,而是一个关于Struts Tiles插件的错误。我使用的是Tiles,但我没有设置proxy.setExecuteResult(false)
,所以JUnit试图执行所有jsp/tiles的东西(在动作返回之后),并给出错误。在堆栈跟踪中,还有Hibernate错误,所以我(错误地)认为错误是Hibernate的错误。
我解决了设置proxy.setExecuteResult(false)
的问题。
https://stackoverflow.com/questions/14628082
复制相似问题