我试图用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).