05-Spring整合JUnit单元测试

Spring整合JUnit4单元测试

使用Spring的JUnit4对Spring代码进行测试,将不再需要在程序的代码中直接写出创建Spring容器,及从Spring容器中通过getBean()获取对象了。这些工作将由JUnit4注解,配合着域属性的自动注入注解共同完成。
(1)导包
除了JUnit-4.9.jar外,还需导入Spring框架的解压目录中的Spring与JUnit4的整合JAR包:spring-test-4.2.1.RRELEASE.jar
(2)定义被测试的类

public class School{
    private String name;
    // setter
    // toString()
}
public class Student{
    private String name;
    private int age;
    private School school;
    // setter
    // toString()
}

(3)定义Spring配置文件

<context:component-scan base-package="com.zhy" />
<bean id="mySchool" class="">
    <property name="name" value="清华大学"/> 
</bean>
<bean id="myStudent" class="">
    <property name="name" value="张三"/>
    <property name="age" value=23 />
    <property name="school" ref="mySchool"/>
</bean>

(4)定义测试类
在类头添加的两个注解

  • @RunWith(SpringJUnit4ClassRunner.class):用于指定运行环境,它会帮我们创建容器。
  • @ContextConfiguration(locations=""):用于指定创建容器时使用的配置文件的具体位置。
    对于需要从容器中获取的bean对象,使用byType或者byName方式,将其自动注入。然后就可以直接测试对象了。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:src/下的具体位置")
public class MyTest{
    @Autowired
    @Qualifier("mySchool")
    private Student student;
    @Test
    public void test01(){
        System.out.println(student);
    }
}

注解与XML共同使用

  • 注解的好处是,配置方便、直观。但其弊端也显而易见:以硬编码的方式写入到了Java代码中,其修改是需要重新编译代码的。
  • XML配置方式的好处是,对其所作修改,无需编译代码,只需重启服务器即可将新的配置加载。
    若注解与XML同用。XML的优先级要高于注解。这样做的好处是,需要对某个Bean做修改,只需修改配置文件即可。当然,此时,Bean类要由setter或者构造器。

猜你喜欢

转载自www.cnblogs.com/zhy0720/p/10455004.html