在网上找了些帖子看,都是比较旧的,弄下来一堆错误!!我现在用的框架版本的是:
struts2.3.3
spring2.5.6求测试方法,我就是想在写好action后能发个请求带些参数测试一下就行了!!

解决方案 »

  1.   

    你这话的意思是?有些不太懂诶。。
    action后能带参数?。。是不是这个意思?
    <s:url var="xg" action="emp_updateUI" namespace="/employee">
       <s:param name="username" value="username"/>
            <s:param name="password" value="password"/>
    <s:param name="gender" value="gender"/>
    </s:url>
    <s:a href="%{xg}">修改</s:a>
    用struts的标签,这样就可以传递参数到action中,接收就可以了,你是这个意思吗?
      

  2.   

    你题目说的单元测试,如果是myeclipse的话 new——JUnit Test Case  就能够创建单元测试了,用的话贴点代码给你看看。
    public class EmployeeTest {
    private static EmployeeService employeeService;

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
    try {
    ApplicationContext act=new ClassPathXmlApplicationContext("beans.xml");
    employeeService=(EmployeeService)act.getBean("employeeServiceBean");
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } @Test
    public void save() {
    Employee employee=new Employee();
    employee.setUsername("韩颖");
    employee.setPassword("123456");
    employeeService.save(employee);
    }}
      

  3.   


    不是,我就是写了后台action后想调用看怎么样~而不用去写jsp页面来发送请求,就想直接开个test包然后建个test.java来发送请求~我知道有junit单元测试,但是没学过!!
      

  4.   

    ApplicationContext act=new ClassPathXmlApplicationContext("beans.xml");
    这句是获取spring的配置文件。
    employeeService=(EmployeeService)act.getBean("employeeServiceBean");
    这个employeeServiceBean是你那些增删查改方法的那个类交给spring处理的那个名字,,注意这里有个问题就是一定要是使用面向接口的编程方式,就是你这个方法类是实现了employeeService这个接口的,在这里通过getBean获得后要强转成接口,否则会报错。
    然后下面的@test测试方法中就可以用employeeService点出方法来测试了。
      

  5.   

    这个是我在做项目是的一个Action测试,供你参考一下:
    package test.com.ywx.web.action;import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.junit.Before;
    import org.junit.Test;
    import org.springframework.context.support.AbstractApplicationContext;
    import org.springframework.context.support.FileSystemXmlApplicationContext;import com.ywx.biz.IUserServ;
    import com.ywx.entity.User;public class UserActionTest {

    private static Log log = LogFactory.getLog(UserActionTest.class);
    private IUserServ iuserServ;

    public void setIuserServ(IUserServ iuserServ) {
    this.iuserServ = iuserServ ;
    }
    @Before
    public void setUp() throws Exception {
    //获得容器
             AbstractApplicationContext ac = new FileSystemXmlApplicationContext("classpath:spring/applicationContext.xml");

    //获取动态代理对象userDaoImpl,并返回给接口,实现spring容器
    iuserServ = (IUserServ)ac.getBean("userServImpl");

    //关闭容器,释放资源
    ac.close();
    }
    @Test
    public void deleteUser(){
    User user = new User();
    user.setUserId(3);
    log.info(user.getUserId()+"."+user.getUsername()+"."+user.getPassword());
    iuserServ.deleteUserById(user);
    }
    }
      

  6.   

        一般测试都是对于service的测试,action作为app的最顶层一般都包含了很多view的代码,很难做到自动测试的目的。
        spring-test貌似有这样的功能。
      

  7.   

    你这是测试service的!好吧~可能是我理解有误~单元测试好像也是针对service和dao的,其实我只是想用一些简单的方法发送请求而已~~谢谢你!!
      

  8.   

    感谢各位提供的意见,我已找到方法。
    用HttpClient来做,具体方法在这里:
    http://huanghongxin.1990.blog.163.com/blog/static/230513692013240101823/