结果类型为tile时,单元测试失败

Hay*_*ayk 6 junit unit-testing struts2 tiles

我试图用jUnit插件测试我的动作类.该动作如下所示:

@Action(value = "default", results = {
    @Result(name = "success", type="tiles", location = "login") })
public String defaultAction() {
    return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

当我打电话给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)
...
Run Code Online (Sandbox Code Playgroud)

当我更改下面的操作时,测试正常执行:

@Action(value = "default", results = {
    @Result(name = "success", type="redirectAction", location = "login") })
public String defaultAction() {
    return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

Hay*_*ayk 8

之前proxy.execute(),executeResult应该设置false值:proxy.setExecuteResult(false).