`
liudeh_009
  • 浏览: 239867 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

基于spring3的单元测试

阅读更多

        我们以前要进行单元测试,必须先得到ApplicationContext对象,再通过它得到业务对象,非常麻烦,重复代码也多.基于spring3的单元测试很好的解决了这个问题

       基于spring3的单元测试主要用到了下面几个注解

             @ContextConfiguration指定配置文件的路径,这个注解用在类上

             @Resource 往测试类注入bean,这个bean必须在配置文件中配置,这个注解用在属性或set方法上

             @Repeat 指定测试方法重复执行的次数,用在测试方法上

             @Timed指定测试方法在多长时间执行完,如果在指定时间测试方法没有执行完,会抛异常

      测试类除了可以使用以上的注解,同时要继承AbstractJUnit4SpringContextTests,只有继承这个类,才能从spring容器中得到注入对象

 

 1.普通的单元测试

      

 

 2.脱离web容器的springMVC的测试

      传统认为,web应用的测试因为涉及到web组件,需要web容器的支持,这给测试带来复杂性.可不可以脱离web容器对web应用进行测试呢?spring告诉你可以.

      Spring 自身提供了一个 Mock 实现:它可以轻松的对 Web 组件进行单元测试,就象测试 POJO (普通 Java 对象)一样简单.它在J2EE的WEB端为每个关键接口提供了一个Mock 实现

    A .   MockHttpServletRequest HttpServletRequest 接口的 mock 实现。

    B.   MockHttpServletResponse HttpServletResponse 接口的 mock 实现。

    C.   MockHttpSession HttpSession 接口的 mock 实现。

      ......

 

   测试代码如下

   controlle类:

   

  测试类:

 

 

   从上可以看出,spring的mock实现不仅可以用于springMVC的测试,同样可以用于Struts的测试,非常方便

 

  • 大小: 51.7 KB
  • 大小: 36.4 KB
  • 大小: 55.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics