StrutsTestCase实现 - 编译错误

时间:2013-09-25 11:32:11

标签: java web-applications struts2 junit4 struts2-junit-plugin

我正在使用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); 
}

2 个答案:

答案 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文件,其中包含所有依赖项的列表。 希望这有助于某人。