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

时间:2011-06-27 12:55:19

标签: unit-testing junit struts2 tiles

我正在尝试使用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", results = {
    @Result(name = "success", type="redirectAction", location = "login") })
public String defaultAction() {
    return SUCCESS;
}

1 个答案:

答案 0 :(得分:8)

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