zoukankan      html  css  js  c++  java
  • 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或者构造器。
  • 相关阅读:
    火狐浏览器处理jquery中:header的问题。
    兼容IE与FF的childNodes问题(ff childNodes)
    前端开发的几个辅助类工具
    固定 vs. 流动 vs. 弹性:哪种布局更适合你?
    由浅入深漫谈margin属性
    Firefox 的 Jetpack 扩展案例分析:Gmail 邮件提醒
    jQuery性能优化
    浅谈.NET中可用的定时器和计时器【上篇】
    现有分布式技术(socket、.net remoting、asp.net webservice、WSE、ES)和wcf的比较及优势
    Mono for Android 4.2初探
  • 原文地址:https://www.cnblogs.com/zhy0720/p/10455004.html
Copyright © 2011-2022 走看看