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

Я использую Struts 2 для создания веб-приложения. Я использую StrutsTestCase для теста Junit для тестирования класса Action. Я импортировал struts2-junit-plugin-2.3.4.jar, поскольку использую struts2-core-2.3.4.jar. Внутри тестового метода, когда я пытался установить параметры запроса, запрашиваемая переменная недоступна для использования. он показывает ошибку компиляции. Я получаю ошибку "запрос не может быть разрешен". В моем тестовом классе я расширяю 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 {


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

licensed under cc by-sa 3.0 with attribution.