`
阅读更多

一般情况下,我们的测试类是继承自抽象类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包。

 

 

分享到:
评论

相关推荐

    spring+Junit4单元测试

    通过Spring集成单元测试,以后测试service层内容时,就不用getBean()来获得Service层对象了

    spring3 + mybatis3 + junit4 可运行项目示例

    spring3 + mybatis3 + junit4 可运行项目示例 可进行单元测试,集成测试。。。

    junit单元测试

    junit4单元测试使用步骤 参数化单元测试示例 spring集成junit4示例

    Spring单元测试

    Spring集成JUnit4,进行单元测试,包括数据和服务器mock等等

    java的单元测试和集成spring单元测试

    为了后期测试基于spring的单元测试,我们直接新建spring工程。新建之后,我们先讲一般在java项目中怎么去做单元测试。我们先定义一个实体User在service包中新建一个接口,在接口中定义一个方法,方法的返回值就是...

    java_junit集成_亲测可用_含有jar包以及源码

    java_junit集成_亲测可用_含有jar包以及源码,和spring 集成

    thymeleaf-test:与 Thymeleaf 集成的 Spring 测试

    Thymeleaf+Spring 测试项目该项目的目的是研究 Spring 和 Thymeleaf 作为 Eionet 软件的新软件标准。 设置为E-PRTR的demo,供大家讨论改写使用。 该应用程序使用 Liquibase 创建和升级数据库,并使用 Thymeleaf 作为...

    SSM框架教程Spring+SpringMVC+MyBatis全覆盖_Java热门框架视频教程

    8、Spring集成Junit测试 9、Spring集成web环境 10、Spring JDBCTemplate基本使用 11、SpringAOP简介和快速入门 12、Spring XML方式配置AOP 13、Spring注解方式配置AOP 14、Spring编程式事务控制介绍 15、Spring基于...

    从零开始学Spring Boot

    1.30 Spring Boot Junit单元测试 1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖项的版本 1.34 Spring Boot导入XML配置 1.35 Spring Boot使用@...

    ssi框架集成增删改查及存储过程(spring2.5+struts2.1+ibatis2.3)

    利用ssi框架集成增删改查及存储过程处理,利用Junit测试框架进行单元测试。非常全面的例子。

    spring课堂笔记的相关知识

    Spring对Junit4支持,可以通过注解方便的测试Spring程序 方便集成各种优秀框架 Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支持

    spring4.1核心包

    15. spring-test-4.1.1.RELEASE.jar 支持Spring组建JUnit和TestNG的单元测试和集成测试。 16. spring-tx-4.1.1.RELEASE.jar 17. spring-web-4.1.1.RELEASE.jar 包含Web应用开发时,用到Spring框架时所需的核心类,...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    7.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 2)Demo 导入说明: 1.Eclipse Encoding:GBK 2.Eclipse 导入后可能需要在 Xml Catalog 手动添加:ehcache-spring-1.2.xsd(ehcache-spring-annotations...

    testcontainers-junit5:简单的演示演示了如何使用Spring Boot,Kotlin,Elasticsearch,JUnit5和测试容器

    与Spring Boot,Elasticsearch,Testcontainers和JUnit5的集成测试 一个简单的示例,演示测试容器,Elasticsearch和JUnit 5如何一起玩。 二手技术 Spring Boot 2.4.3 Kotlin1.4.31 带有Elasticsearch 7.10.1 ...

    spring-spock-integration-testing:如何将Spock模拟注入到Spring集成测试中

    如何将Spock模拟注入到Spring集成测试中该项目旨在用作示例指南,以说明如何将Spock与Spring(和Spring Boot)结合使用,并结合使用Spring配置和Spock模拟。 有时,您想使用整个Spring上下文进行更完整的集成测试。 ...

    MyBatis 需要注意的地方junit注解

    @RunWith 指定测试类使用的某个运行器参数SpringJUnit4ClassRunner.class @Parameters 指定参数类的参数数据集合 @Rule 允许灵活添加或重新定义测试类中的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行...

    SpringBoot 学习笔记+完整教程

    * 集成 Junit 单元测试 * 读取系统环境变量 * 使用自定义 properties * 改变默认包扫᧿ * 自定义启动 Banner * 导入 spring XML 配置文件 * 热部署 * 监控和管理生产环境 * starter 详解 * 依赖的版本 * 文件上传 * ...

    spring-ioc

    里面演示了spring ioc的基本使用,同时使用了junit进行单元测试,后期会加入spring集成junit。 工程使用Maven管理,下载工程后,请使用mvn clean, mvn compile指令对工程进行编译,通过后,使用mvn eclipse:eclipse...

    Spring+3.x企业应用开发实战光盘源码(全)

     第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的JUnit4+Unitils+ Mockito复合测试框架对如何测试数据库、Web的应用进行了深入的讲解。  第17章:以一个实际的项目为蓝本,带领读者从项目需求分析、...

Global site tag (gtag.js) - Google Analytics