jUnitプラグインでアクションクラスをテストしようとしています。私がテストクラッシュ、proxy.execute()
を呼び出すと結果タイプがタイルの場合、ユニットテストが失敗する
@Action(value = "default", results = {
@Result(name = "success", type="tiles", location = "login") })
public String defaultAction() {
return SUCCESS;
}
:アクションは、次のようになります。私はおそらく タイルでテストを実行する何かを忘れているが、私はそれが何であるかについての手掛かりがありません。 私は次のスタックトレースを取得:私は以下のように動作を変更する場合
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)
...
を、テストが正常に実行されます。proxy.setExecuteResult(false)
:
@Action(value = "default", results = {
@Result(name = "success", type="redirectAction", location = "login") })
public String defaultAction() {
return SUCCESS;
}
TilesResultの105行目を見てみると、そこにNPEがどのような原因になるのかを知ることができます。 –
'TilesContainerコンテナ= TilesAccess.getContainer(servletContext); ... container.render(location、request、response); '' container'はnullです。しかし、私は理由を知らない。 – Hayk