`

Spring框架下的Junit测试

 
阅读更多

1.bean配置测试方法:

   配置开发有利于后期的项目扩展及维护,所以,项目后期大多采用bean配置方案来对项目进行发布和维护。但是客户的需求总是在不断改变,我们很有可能有后期开发和测试,那么这样,我们是要进行代码的进一步开发和测试。

1.1配置文件案例:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
	<bean id="udao" class="com.spring.user.UserDao"></bean>
	
	<bean id="usvc" class="com.spring.user.UserService">
		<property name="ud" ref="udao"></property>
	</bean>
</beans>

 

1.2测试类:

package com.spring.user;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {
	@Test
	public void testAdd() {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
		UserService svc = (UserService)applicationContext.getBean("usvc");
		User u = new User("zhangsan",22);
		svc.save(u);
	}
}

 

2.bean标注测试方法:

   spring的bean的标注加载方式能够大大减少我们的前期开发周期。不用写一个bean,然后就再去配置所有的bean,还有属性。这样,开发是大大方便了,可是,测试我们也要写啊。之前一直在网上苦苦寻觅,就没有一个博客谈及针对标注方式下,测试的写法。今天就去api研究了一番,总算是功夫不负有心人啊。原来就有AutowireCapableBeanFactory这个类,大家看了就知道了。我们可以通过这个factory来获取标注自动加载我们需要的bean了。多么给力啊。

 

2.1配置文件案例:

<?xml version="1.0" encoding="UTF-8"?>	
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
			http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

	<context:annotation-config />
	<!-- 标注扫描 -->
	<context:component-scan base-package="com.spring.*" />
	
</beans>

 

2.2测试类:

package com.spring.user;

import org.junit.Test;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {
	@Test
	public void testAdd() {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
		//标注测试写法
		AutowireCapableBeanFactory autoBeanFactory = applicationContext.getAutowireCapableBeanFactory();
		UserService svc = (UserService)autoBeanFactory.getBean("userService");
		User u = new User("zhangsan",22);
		svc.save(u);
	}
}

 

若有更好的方案,请大侠多多指教。小弟这里献丑了。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics