Spring整合单元测试
两种方式:半注解,纯注解
一.半注解
特点: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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">
<!--整合单元测试--><bean id="user" class="com.qcbyjy.demo5.User"/>
</beans>2.测试代码引入配置文件
@RunWith(value = SpringJUnit4ClassRunner.class) // 运行单元测试
@ContextConfiguration(value = "classpath:applicationContext_test.xml") // 加载类路径下的配置文件
public class Demo5 {
// 测试哪一个对象,把该对象注入进来,在测试环境下,可以使用注解的方式注入测试的对象// 按类型自动注入@Autowiredprivate User user;
@Testpublic void run1(){// 创建工厂,加载配置文件......// 调用对象的方法user.sayHello();}
}二.纯注解
特点:1.在类上标注注解(@Component @Controller @Service @Repository )
@Component
public class Customer {public void save(){System.out.println("保存客户...");}
}2.使用配置类
@Configuration
// 扫描包结构
@ComponentScan(value = "com.qcbyjy.demo6")
public class SpringConfig6 {
}3.测试方法引入配置类
@RunWith(SpringJUnit4ClassRunner.class)
// 加载配置类
@ContextConfiguration(classes = SpringConfig6.class)
public class Demo6 {
// 按类型注入@Autowiredprivate Customer customer;
/*** 测试*/@Testpublic void run1(){customer.save();}
}注解解释
@RunWith(value = SpringJUnit4ClassRunner.class) // 运行单元测试
@ContextConfiguration(value = "classpath:applicationContext_test.xml") // 加载类路径下的配置文件 半注解方式
@ContextConfiguration(classes = SpringConfig6.class) //纯注解方式
