我正在使用Struts 2来创建Web应用程序。我使用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);
}
答案 0 :(得分:1)
如果您的课程扩展的StrutsTestCase
不是org.apache.struts2.StrutsTestCase
,则只能收到编译错误。您可以优化导入或仅使用FQCN。
public class WallPlanningActionTest extends org.apache.struts2.StrutsTestCase {
答案 1 :(得分:0)
对于未来的读者: 我遇到了同样的问题 - 受保护的请求字段无法访问。问题是我没有添加弹簧库。 StrutsTestCase使用spring-core-x.y.z和spring-test-x.y.z。它依赖于它们,我无法找到一种方法来使用没有它们的单元测试。 通过打开struts-junit-plugin jar(作为存档)可以找到其他依赖项。打开META-INF文件夹,在那里你会找到DEPENDENCIES文件,其中包含所有依赖项的列表。 希望这有助于某人。