spring测试实例

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

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

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

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

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

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

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

 1.普通的单元测试

基于spring3的单元测试 - 我的未来不是梦 - 永远追逐_我心永恒

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类:

基于spring3的单元测试 - 我的未来不是梦 - 永远追逐_我心永恒

 测试类:

基于spring3的单元测试 - 我的未来不是梦 - 永远追逐_我心永恒
posted @ 2013-06-27 16:00  悟寰轩-叶秋  阅读(473)  评论(0)    收藏  举报