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的类需要继承StrutsSpringTestCasepublic class JunitTrackActionTest extends StrutsSpringTestCase{
@Testpublic 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;
@Beforepublic 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";
}
@Testpublic 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;
@Beforepublic 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";
}
@Testpublic 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,即可