要创建一个基于Spring2.5的JUnit4.4测试用例其实相当简单,主要进行以下几步的工作:
(1)创建一个扩展自AbstractTransactionalJUnit4SpringContextTests的类,该基类是Spring2.5为方便在JUnit4环境进行事务测试的类,它还提供了一个simpleJdbcTemplate属性让你可以方便地操控数据库表,便于对测试数据进行有效的操作;
(2)用@ContextLocation注解指定你要加载的Spring配置信息所在的位置;(默认的加载文件信息请参阅Spring Documentation);
(3)用@Autowired或@Resource注解注入你的Service接口,@Autowrired是指按类型将Spring Bean注入;而@Resource则按名称将Spring Bean注入。
(4)用@Before准备待测试的数据,如果我们的数据库表结构没有任何数据,则可以在这里预先插入记录,以便进行单元测试,当整个测试完成后,这些数据都不会被保留在数据库中。
(5)在需要进行测试的方法上使用JUnit4.4提供的@Test注解进行标示;
下面我们以一个例子来说明如何编写一个测试用例:
<1>示例信息
假设我们有一个名为TrainProjectService的服务类需要进行单元测试,该Service接口的方法如清单1-1所示:
//清单1-1
public interface TrainProjectService {
// 根据ID获取培训项目信息
public TrainProject getTrainProjectById(Integer trainProjectId);
…
}
//Spring配置信息如清单1-2所示:
//清单1-2
/cn/com/suhao/test/train/conf/applicationContext-train-service.xml
…
<bean id="trainProjectService"
class="cn.com.suhao.test.train.service.impl.TrainProjectServiceImp">
<property name="trainProjectDao" ref="trainProjectDao" />
</bean>
…
/cn/com/suhao/test/train/conf/applicationContext-train-dao.xml
…
<bean id="trainProjectDao"
class="cn.com.suhao.test.train.dao.impl.TrainProjectDAOImp" parent="parentDao" />
…
//<2>测试用例
@ContextConfiguration(locations={"/cn/com/suhao/test/appconf/applicationContext.xml",
"/cn/com/suhao/test/train/conf/applicationContext-*.xml"
}
)
public class TestTrainProjectService extends AbstractTransactionalJUnit4SpringContextTests {
@Autowired
private TrainProjectService trainProjectService;
private Integer projectId;
@Before
public void prepareTestData() {
final String sql = "insert into train_project(project_name, project_attendee) values('English Test', 'Mike')";
KeyHolder keyHolder = new GeneratedKeyHolder();
simpleJdbcTemplate.getJdbcOperations().update(
new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection conn)
throws SQLException {
PreparedStatement ps = conn.prepareStatement(sql);
return ps;
}
}, keyHolder);
projectId = keyHolder.getKey().intValue();
}
@Test
public void testGetTrainProject() {
TrainProject trainProject = trainProjectService.getTrainProjectById(projectId);
Assert.notNull(trainProject);
}
}
分享到:
相关推荐
Junit4+Spring2.5单元测试代码示例同时也适用注解注入的形式测试(前提要导好测试的包哦,包MyEclipce自带了)
Spring Test模块提供了集成测试框架,使得开发者可以方便地编写单元测试和集成测试,支持模拟对象和Spring应用上下文的加载。 **总结** Spring2.5中文参考手册是学习和理解Spring框架的重要资源,涵盖了上述所有...
Spring 2.5提供了强大的测试框架,包括`@Test`注解和`Mockito`集成,使得单元测试和集成测试变得更加容易。 10. **事务管理**: Spring 2.5的事务管理是另一个重要的功能,它支持编程式和声明式事务管理,确保了...
7. **测试支持**:Spring 2.5包含丰富的测试工具和API,支持单元测试和集成测试,如Mockito和Spring TestNG支持,方便进行代码验证和应用测试。 8. **国际化(i18n)与本地化(l10n)**:Spring 2.5提供了对国际化...
8. **测试支持**:Spring 提供了测试框架,使得单元测试和集成测试更加便捷。例如,@RunWith(SpringJUnit4ClassRunner.class) 注解可以启动 Spring 上下文,便于测试 Bean 间的协作。 9. **JMS(Java Message ...
1. **依赖注入增强**:Spring 2.5进一步完善了DI机制,支持注解驱动的配置,使得开发者可以在类和方法级别使用`@Autowired`、`@Qualifier`等注解进行依赖注入,减少了XML配置文件的使用。 2. **注解支持**:Spring ...
- Spring Test模块提供了对Spring应用进行单元测试和集成测试的支持,包括`ApplicationContext`的加载和销毁。 - Spring 2.5改进了测试类的继承结构,使得测试编写更加简洁。 10. **Web应用上下文** - Spring ...
7. **测试**:编写单元测试和集成测试,确保每个组件的正确性。 8. **部署**:将项目打包成WAR文件,部署到Tomcat或其他Servlet容器。 总结,"Spring 2.5 MVC 完整项目"是一个综合性的学习和实践资源,涵盖了从...
这个"传智播客 spring2.5源代码_lib包"包含了Spring框架2.5版本的库文件,这些库文件对于理解Spring的工作原理、学习如何使用它以及进行相关开发非常有帮助。下面我们将深入探讨Spring 2.5的一些核心概念和功能。 1...
通过阅读《spring2.5+学习笔记.doc》和《黎活明__spring教程.ppt》以及《黎活明_struts2教程.ppt》,你可以更深入地了解Spring 2.5与Struts2的整合,以及在实际项目中如何有效地利用这些知识。尽管Spring框架已经...
9. **测试支持**:Spring 2.5提供了集成测试框架,如`@ContextConfiguration`和`@Test`注解,方便进行单元测试和集成测试。 10. **Spring与其他框架的整合**:Spring 2.5版本加强了与Struts、Hibernate、Quartz等...
在压缩包"spring2.5需要的jar"中,可能包含了一系列Spring框架的核心库,如spring-core、spring-context、spring-aop、spring-beans、spring-expression等。这些jar文件是构建基于Spring 2.5的应用所必需的,它们...
8. **测试框架**:Spring Test 2.5提供了对JUnit和TestNG的全面支持,使得单元测试和集成测试变得更加简单。 通过《精通Spring 2.5》的学习,开发者不仅可以深入了解Spring框架的基础原理,还能掌握如何在实际项目...
Spring Test模块在2.5版本中增加了对注解测试的支持,如`@ContextConfiguration`和`@Test`,使得单元测试和集成测试更加方便。 通过深入学习Spring 2.5的源码,开发者可以更好地理解Spring框架的设计思想和工作...
【标题】"cxf+Spring2.5" 指的是使用Apache CXF框架与Spring 2.5版本进行集成的示例项目。Apache CXF是一个开源服务框架,它允许开发人员创建和消费Web服务,而Spring框架则是一个广泛使用的Java企业级应用的IOC...
这份手册能够帮助开发者理解并掌握Spring的众多功能,包括配置和使用Spring IoC容器,如何在项目中集成Spring MVC和Spring的事务管理功能,以及如何使用Spring AOP进行面向切面的编程等。通过这份手册,开发者可以...
5.测试支持:Spring 2.5提供了JUnit和Mockito的集成,便于进行单元测试和集成测试。 总结,Spring 2.5作为Spring框架的一个重要里程碑,它的改进和特性为Java开发者带来了更加高效、灵活的开发体验。通过深入理解并...
《Spring2.5_CN 开发参考手册》是针对Spring Framework 2.5版本的一份详尽的中文参考资料,旨在帮助开发者深入理解并有效利用Spring框架进行软件开发。这份手册覆盖了Spring的核心概念、配置、使用方法以及API的详细...
10. **单元测试和集成测试支持**:Spring提供了TestContext框架,使得编写和运行单元测试以及集成测试变得简单。 通过阅读这本中文参考手册,开发者可以深入了解Spring 2.5的各种功能,掌握如何使用Spring构建高...
10. **测试支持**:Spring 2.5 强化了测试框架,包括 `MockMVC` 和 `TestContext` 框架,使得单元测试和集成测试更加方便。 以上是 Spring 2.5 架构中的核心知识点,它们共同构建了一个强大且灵活的应用开发框架,...