我想用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;
}
您可能會嘗試查看TilesResult中的第105行,以查看會導致NPE的原因。 –
'TilesContainer container = TilesAccess.getContainer(servletContext); ... container.render(location,request,response);''container'爲null。但我不知道爲什麼。 – Hayk