快速业务通道

使用Spring 2.5 TestContext测试框架 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
ceMethod" expression= "within(com.baobaotao.service..*)" /> <aop:advisor pointcut-ref="jdbcServiceMethod" advice-ref="jdbcTxAdvice" />    </aop:config>    <tx:advice id="jdbcTxAdvice" transaction-manager="transactionManager"> <tx:attributes>        <tx:method name="*"/>      </tx:attributes> </tx:advice> </beans>

UserService 所关联的 DAO 类和 PO 类都比较简单,请参看本文附件的程序代码。在着手测试 UserSerivce 之前,需要将创建数据库表,你可以在附件的 schema 目录下找到相应的 SQL 脚本文件。

使用Spring 2.5 TestContext测试框架(3)

时间:2011-01-26 IBM 陈雄华

编写 UserService 的测试用例

下面我们为 UserService 编写一个简单的测试用例类,此时的目标是让这个基于 TestContext 测试框架的测试类运行起来,我们将在后面逐步完善这个测试用例。

清单3.TestUserService.java: 基于注解的测试用例

package com.baobaotao.service; import org.springframework.test.context.junit4.    AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.ContextConfiguration; import org.springframework.beans.factory.annotation.Autowired; import org.junit.Test; import com.baobaotao.domain.User; import java.util.Date; @ContextConfiguration //① public class TestUserService extends    AbstractTransactionalJUnit4SpringContextTests { @Autowired //②    private UserService userService;    @Test //③    public void handleUserLogin(){      User user = new User();      user.setUserId(1);      user.setLastIp("127.0.0.1");      Date now = new Date();      user.setLastVisit(now.getTime());      userService.handleUserLogin(user);    } }

这里,我们让 TestUserService 直接继承于 Spring 所提供的 AbstractTransactionalJUnit4SpringContextTests 的抽象测试类,稍后本文将对这个抽象测试类进行剖析,这里你仅须知道该抽象测试类的作用是让 TestContext 测试框架可以在 JUnit 4.4 测试框架基础上运行起来就可以了。

在 ① 处,标注了一个类级的 @ContextConfiguration 注解,这里 Spring 将按 TestContext 契约查找 classpath:/com/baobaotao/service/TestUserService-context.xml 的 Spring 配置文件,并使用该配置文件启动 Spring 容器。@ContextConfiguration 注解有以下两个常用的属性:

locations:可以通过该属性手工指定 Spring 配置文件所在的位置,可以指定一个或多个 Spring 配置文件。如下所示:

@ContextConfiguration(locations={“xx/yy/beans1.xml”,” xx/yy/beans2.xml”})

inheritLocations:是否要继承父测试用例类中的 Spring 配置文件,默认为 true。如下面的例子:

@ContextConfiguration(locations={"base-context.xml"})   public class BaseTest {     // ...   }   @ContextConfiguration(locations={"extended-context.xml"})   public class ExtendedTest extends BaseTest {     // ...   }

使用Spring 2.5 TestContext测试框架(4)

时间:2011-01-26 IBM 陈雄华

如果 inheritLocations 设置为 false,则 ExtendedTest 仅会使用 extended-context.xml 配置文件,否则

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号