ssh(spring,struts2,hibernate)框架整合junit4

step1:导入必须的包,如果是maven项目,直接在pom.xml文件里加入以下依赖包:

    <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>2.5.5</version>  
            <scope>test</scope>  
        </dependency> 
        <!-- 测试action-->
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-junit-plugin</artifactId>
            <version>2.3.15.1</version>
            <scope>test</scope>
        </dependency>
        <!-- 模拟http请求 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>test</scope>
        </dependency>

step2:在src/main/java下建测试类

step2.1:测试action

//测试action的类需要继承StrutsSpringTestCase
public class JunitTrackActionTest extends StrutsSpringTestCase{

    @Test
    public void test() {
        //设置 请求参数
        request.setParameter("startTime", "2018-09-11 00:00:00");
        request.setParameter("endTime", "2018-09-11 12:00:00");
        request.setParameter("queryReliability", "99");
        try {
            //括号里的是前台发送的url连接
            String result = executeAction("/trackAction!getTrackByParams.action");
            System.out.println(result);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ServletException e) {
            e.printStackTrace();
        }
    }
}

step2.2:测试service

public class JunitTrackServiceTest {

    private String startTime;
    private String endTime;
    private String queryReliability;
    private TrackService trackService;

    @Before
    public void init() {
        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");
        trackService = (TrackService) classPathXmlApplicationContext.getBean("trackService");

        startTime = "2018-09-11 00:00:00";
        endTime = "2018-09-11 12:00:00";
        queryReliability = "99";
    }
    
    @Test
    public void test() {
        List<Track> list = trackService.getTrackByParams(startTime, endTime, Integer.parseInt(queryReliability));
        
        System.out.println(list.get(0).getCaptureTime());
    }

}

step2.3:测试dao

public class JunitTrackDaoTest {

    private String startTime;
    private String endTime;
    private String queryReliability;
    private TrackDAO trackDAO;

    @Before
    public void init() {
        ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");
        trackDAO = (TrackDAO) classPathXmlApplicationContext.getBean("trackDAO");

        startTime = "2018-09-11 00:00:00";
        endTime = "2018-09-11 12:00:00";
        queryReliability = "99";
    }
    
    @Test
    public void test() {
        List<Track> list = trackDAO.getTrackByParams(startTime, endTime, Integer.parseInt(queryReliability));
        
        ///JSONObject json = JSONObject.fromObject(list.get(0));
        System.out.println(list.get(0).getCaptureTime());

    }

}

最后,点击鼠标右键--》run as--->JUnit Test,即可

猜你喜欢

转载自www.cnblogs.com/bingyimeiling/p/9639789.html