一般情况下,我们的测试类是继承自抽象类AbstractDependencyInjectionSpringContextTests,需要注意的就是要重写方法getConfigLocation()。这样的测试类有个优点就是每个测试方法Spring容器都只对beans初始化一次。
但是,有些情况下我们不想在单元测试的时候破坏数据库现场,这时候可以是测试类继承抽象类AbstractTransactionalSpringContextTests。使用这个抽象类的时候,一定要注意属性TransactionManager属性的注入,以及TransactionManager的DataSource属性的注入,否则测试类是不能够初始化的
public abstract class BaseTest extends AbstractDependencyInjectionSpringContextTests {
@Override
protected String[] getConfigLocations() {
String[] config = new String[]{
"file:web/WEB-INF/spring.xml",
"file:web/WEB-INF/spring-app.xml"
};
return config;
}
@Override
protected void injectDependencies() throws Exception {
this.setAutowireMode(AUTOWIRE_BY_NAME);
super.injectDependencies();
}
}
如果需要测试某个bean,我们可以继承上面的BaseTest类
public class TestNeiDAOImpl extends BaseTest{
Log log = Log.getLog(TestNeiDAOImpl.class);
NeiDAO neiDAO ;
UserInfo userInfo;
public void testAddUserInfo(){
userInfo.setAge(20);
userInfo.setRegisterTime(new Date());
userInfo.setUpdateTime(new Date());
neiDAO.addUserCore(userInfo);
}
//通过setter方法自动从context里注入neiDAO bean,而不用显示调用
public void setNeiDAO(NeiDAO neiDAO){
this.neiDAO = neiDAO;
}
}
我们不需要手动的从applicationContext容器中找某个bean,spring自动通过sett方法注人我们需要的bean。需要注意的是,如果我们有多个 bean的类型一样,这样就需要我们手动获取
public void onSetUp() {
neiDAO= (NeiDAO) applicationContext.getBean("neiDAO");
}
如果需要使用spring的单元测试,我们还需要导入spring test的jar包。
分享到:
相关推荐
在测试类上使用`@RunWith(SpringRunner.class)`注解启用Spring测试支持,并使用`@ContextConfiguration`指定Spring配置文件的位置。 2. **创建MockMVC对象**:使用`MockMvcBuilders.standaloneSetup()`或`...
3. **TestNG集成**: 虽然Junit是默认的测试框架,但`spring-test`也支持TestNG,一个功能更丰富的测试框架,提供了更多高级特性,如并行测试执行。 4. **Web应用程序测试**: Spring Test模块包含`MockMvc`类,用于...
JUnit作为Java领域最流行的单元测试框架,与Spring MVC和Spring Boot的集成使得开发者能够更高效地进行测试驱动开发(TDD)或行为驱动开发(BDD)。下面将详细介绍这个主题中的相关知识点。 1. JUnit JUnit是一个...
在Spring框架中,进行Junit单元测试是软件开发过程中的重要环节,有助于确保代码的健壮性和可维护性。在本篇文章中,我们将探讨如何利用Spring的MOVE(Model-View-Controller)架构以及JUnit库来执行单元测试。首先...
总结来说,Spring Test和JUnit4的组合为Java开发者提供了一套强大的测试工具,可以方便地对Spring应用进行单元测试和集成测试。通过合理的注解使用和测试设计,我们可以确保代码的质量和系统的稳定性。在实际项目...
在Spring框架中,进行Web工程的JUnit单元测试是软件开发中的关键步骤,它能确保代码的质量和可维护性。本文将深入探讨如何利用Spring管理的Web工程进行单元测试,以及如何借助工具提升测试效率。 首先,理解“通过...
本文详细介绍了 Spring Boot 中的单元测试和集成测试的实现细节,包括使用 JUnit 和 Hamcrest 框架来进行单元测试,以及使用@SpringBootTest 注解来标记集成测试。这对于学习 Spring Boot 和测试有重要参考价值。
这个项目的核心是利用Spring作为应用的ioc(Inversion of Control,控制反转)和aop(Aspect Oriented Programming,面向切面编程)容器,MyBatis作为持久层框架,以及JUnit4用于进行单元测试和集成测试。...
Spring Boot Junit单元测试【从零开始学Spring Boot】"的主题,深入探讨Spring Boot中Junit单元测试的使用方法和最佳实践。 首先,我们要了解什么是单元测试。单元测试是一种针对软件中的最小可测试单元(如方法)...
1. **配置测试环境**:设置一个包含OSGi容器(如 Felix 或 Equinox)的测试环境,并集成JUnit支持。这通常通过Maven或Gradle插件完成,例如Apache Maven Bundle Plugin和Bndtools。 2. **创建测试类**:为每个需要...
通过Spring集成单元测试,以后测试service层内容时,就不用getBean()来获得Service层对象了
在Spring框架中,单元测试和集成测试是软件开发过程中不可或缺的部分。它们确保代码的质量和功能的正确性。本文将深入探讨Spring3中的单元测试和集成测试,并提供相关的实践指导。 ### 单元测试 单元测试是指针对...
描述中的链接指向了一篇名为“Spring 2.5+Junit4的单元测试”的博客文章,虽然具体内容未给出,但可以推断这篇文章可能讲述了如何在Spring 2.5版本中集成Junit4进行单元测试的实践和技巧。 标签“源码”意味着我们...
总的来说,Spring4提供了丰富的测试支持,结合JUnit能够实现从单元测试到集成测试的全面覆盖。这不仅提高了代码质量,也加速了问题定位和修复的过程。在实际开发中,应充分利用这些工具,确保软件的健壮性和稳定性。...
在SSM环境中,使用Junit4和spring-test库进行单元测试是标准做法。下面将详细解释如何使用这两个库以及所需的jar包。 Junit4是Java领域广泛使用的单元测试框架,它提供了一套丰富的注解,使得编写测试用例变得更加...
标题“spring2 junit3”指的是在Spring框架的第二个主要版本中使用JUnit3进行单元测试的相关内容。这篇博文可能探讨了如何在Spring 2.x时代利用JUnit3进行测试驱动开发(TDD),因为JUnit3是当时广泛使用的Java单元...
【标题】"最简单的含单元测试的spring boot+activiti集成demo" 描述了一种将流行的Spring Boot框架与流程管理工具Activiti结合使用的实践案例。这个集成演示项目旨在帮助开发者快速理解和实现基于Spring Boot的...
Spring集成junit4 Spring框架提供了对junit4单元测试的集成支持。我们可以使用Spring的测试框架来编写单元测试,以确保Spring应用程序的正确性和可靠性。 junit单元测试是Java应用程序测试的重要工具。它提供了一...
在Spring测试中,我们通常会结合Spring的bean和业务逻辑,编写相应的断言来确保代码行为正确。 8. **测试覆盖率(Telemetry)**:为了评估测试的质量,开发者常常会关注测试覆盖率,例如使用JaCoCo或Cobertura等工具...
为了进行集成测试,我们需要创建一个测试类,该类通常会继承Spring的`AbstractJUnit4SpringContextTests`或`SpringRunner`(如果使用JUnit4)或`SpringExtension`(如果使用JUnit5)。在这个测试类中,我们可以使用`...