Реализация StrutsTestCase - ошибка компиляции

Я использую Struts 2 для создания веб-приложения. я использую StrutsTestCase для теста Junit для проверки класса Action. Я импортировал struts2-junit-plugin-2.3.4.jar как я использую struts2-core-2.3.4.jar, Внутри метода testcase, когда я пытался установить параметры запроса, переменная запроса недоступна для использования. это показывает ошибку компиляции. Я получаю сообщение об ошибке "запрос не может быть решен". В моем тестовом классе я расширяюсь StrutsTestCase который имеет запрос в качестве защищенного параметра. Но это не доступно внутри расширенного метода.

Мое тестовое действие выглядит так:

import org.apache.struts2.StrutsTestCase;

public class WallPlanningActionTest extends StrutsTestCase {
    public void testList() {
    request.setParameter("salesOrg",1); 
}

2 ответа

Вы можете получить только ошибки компиляции, если StrutsTestCase который ваш класс продлен не org.apache.struts2.StrutsTestCase, Вы можете оптимизировать импорт или просто использовать FQCN.

public class WallPlanningActionTest extends org.apache.struts2.StrutsTestCase {

Для будущих читателей: у меня была такая же проблема - защищенное поле запроса было недоступно. Проблема была в том, что я не добавил весенние библиотеки. StrutsTestCase использует spring-core-xyz и spring-test-xyz. Это зависит от них, и я не могу найти способ использовать модульные тесты без них. Другие зависимости можно найти, открыв jar struts-junit-plugin (как архив). Откройте папку META-INF и там вы найдете файл DEPENDENCIES со списком всех зависимостей. Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам