我试图用jUnit插件测试我的动作类.该动作如下所示:
@Action(value = "default",results = { @Result(name = "success",type="tiles",location = "login") }) public String defaultAction() { return SUCCESS; }
当我调用proxy.execute()时,测试崩溃了.我可能忘记了
让我的测试用瓷砖运行的东西,但我不知道它可能是什么.
我得到以下堆栈跟踪:
java.lang.NullPointerException at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105) at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:373) ...
当我更改下面的操作时,测试正常执行:
@Action(value = "default",type="redirectAction",location = "login") }) public String defaultAction() { return SUCCESS; }
解决方法
在proxy.execute()之前,应该将executeResult设置为false值:proxy.setExecuteResult(false).