我想请教下,怎样用Junit对SSH(struts1.2)项目进行测试...刚开始学习Junit,因为手上有个项目要使用到Junit,所以先来请教下大家....上网查过一些资料,对Struts使用StrutsTastCast,但是如果我在action中使用到server层中的方法,那么我怎么测试这个action,因为这个server接口使用到Spring注入的,而且server层是对DAO层的方法的进一步封装.....同样也是利用Spring的依赖注入方法注入到server层的......例如一个登录的action,里面调用到server层的一个validate方法,而这个方法其实是调用了DAO层里面的validate方法.那么这个action应该怎么测试?
本人还是一个学生,不知道上面说的明不明白,希望各位高手能指点下,谢谢

解决方案 »

  1.   

    需要使用mock,推荐easymock。
    简略介绍参考:http://family168.com/oa/tech/test.html#d4e2396
      

  2.   

    eclipse里面导入JUNIT包到工程下
    下面是我复制的部分代码供参考
    方法名必须以test开头package com.test;import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.text.NumberFormat;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    import org.apache.struts.legacy.GenericDataSource;
    import org.hibernate.Criteria;
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.hibernate.criterion.Example;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;import com.hibernate.HibernateSessionFactory;
    import com.java.model.Cource;
    import com.java.model.DataAccess;
    import com.java.model.Student;
    import com.java.model.StudentCource;
    import com.java.model.Teacher;
    import com.java.model.User;
    import com.java.xml.ReaderXml;
    import com.spring.Fly;
    import com.spring.UserDataDao;import junit.framework.TestCase;public class HiberTest extends TestCase { protected void setUp() throws Exception {
    super.setUp();
    } protected void tearDown() throws Exception {
    super.tearDown();
    }

    public void testCritial(){
    Session session = null;
    Transaction tran = null;
    try{
    session = HibernateSessionFactory.getSession();
    Criteria cri = session.createCriteria(User.class);
    User user = new User();
    user.setName("spring");
    user.setPassword("java22");

    Example exa = Example.create(user);
    cri.add(exa);

    List list = cri.list();
    if (list.size() == 1){
    System.out.println("login success");
    }else{
    System.out.println("login failure");
    }
    //tran = session.beginTransaction();

    }catch(Exception e){
    System.out.println(e);
    //tran.rollback();
    }finally{
    if (session != null){
    session.close();
    }
    }
    }
      

  3.   

    还有更详细点的吗?````我还是不怎么明白```对于SSH框架开发``怎样对它进行单元测试
      

  4.   

    很简单的
    继承TestCase 就可以了