java单元测试,ssh(spring,struts2,hibernate)框架整合junit4

时间:2023-03-08 19:42:58

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,即可