Модульный тест не пройден, когда типом результата является тайл - PullRequest
6 голосов
/ 27 июня 2011

Я пытаюсь проверить свои классы действий с помощью плагина 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 Ответ

8 голосов
/ 28 июня 2011

До proxy.execute(), executeResult должно быть установлено false значение: proxy.setExecuteResult(false).

...