Реализация 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 со списком всех зависимостей. Надеюсь, это кому-нибудь поможет.