首页 > 代码库 > maven下使用junit对spring进行单元测试_01基本应用
maven下使用junit对spring进行单元测试_01基本应用
一、开发环境
maven版本:3.0.5
spring版本:spring3.2.3 release
junit版本:4.11
eclipse版本:3.7.2 r2
jdk版本:1.6
二、文件清单
pom.xml
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>1.9.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.2.3.RELEASE</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.2.3.RELEASE</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build>
ApplicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> <bean id="employee" name="employee" class="com.tfry.spring.Employee" autowire="default"> <constructor-arg name="age" value="http://www.mamicode.com/20"></constructor-arg> <constructor-arg name="name" value="http://www.mamicode.com/zhangsan"></constructor-arg> </bean> </beans>
Employee.java
public class Employee { private Integer age; private String name; public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Employee(Integer age,String name){ this.age=age; this.name=name; } @Override public String toString(){ return "Employee name is "+name+",age is"+age; } }
三、主要步骤
1.使用springframework提供的单元测试
包的路径:org.springframework.test.context.junit4下
只需要加入两个注解就可以实现单元测试的功能
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath*:ApplicationContext.xml"})
@ContextConfiguration 主要用来加载spring的配置文件路径:是一个字符串数组,可以加载多个spring配置文件
2.基本使用
import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:ApplicationContext.xml"}) public class EmpolyeeTest { @Autowired ApplicationContext ctx; @Test public void testEmployee(){ Employee employee =(Employee) ctx.getBean("employee"); assertEquals("zhangsan",employee.getName()); } }
3.封装基于AbstractJUnit4SpringContextTests的测试基类
SpringTest.java
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.context.ApplicationContext; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"classpath*:ApplicationContext.xml"}) public class SpringTest extends AbstractJUnit4SpringContextTests { public <T> T getBean(Class<T> type){ return applicationContext.getBean(type); } public Object getBean(String beanName){ return applicationContext.getBean(beanName); } protected ApplicationContext getContext(){ return applicationContext; }
下一步就是在webapp中如何进行单元测试和如何结合hibernate等ORMapping框架进行单元测试。
最后附上源码
源码地址
maven下使用junit对spring进行单元测试_01基本应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。