基于Junit扩展的测试框架 iTest

jopen 12年前

关于iTest

iTest是一个基于Junit扩展的测试框架。通过一系列的Java Annotation提供丰富的功能特性,使测试代码编写简单、容易维护。

iTest最初实践于淘宝Qa接口测试团队,用于各共享中心的服务测试、研发团队的单元测试。后来通过扩展支持Webx(阿里巴巴的web框架,wiki:http://code.taobao.org/trac/webx/wiki/ZhWikiStart )测试,用于各上层应用项目自动化测试和回归测试。

iTest除提供测试框架支持外,还致力于自动化测试解决方案的探索和实践,推出的itest-webapp和itest-plugin将用例设计 跟用例脚本有机结合,提供用例设计生成测试脚本及根据用例脚本生成用例设计功能,有效的解决了自动化测试过程中用例设计和用例脚本不同步、重复工作量问 题。这一功能在HiFit项目(Hudson、iTest、FreeTest整合)中成熟完善,成功用于FreeTest(淘宝测试工作平台)产品,成为 FreeTest兼容自动化测试的重要特性。

为什么选择iTest

  • 编码简单,绝大多数特性通过注解提供,省去了很多硬编码,增强测试代码可维护性
  • 功能丰富,提供了很多实用功能,且在不断发展完善
  • 扩展容易,灵活的扩展机制使其很容易扩展,通过增加注解和Listener来扩展新功能,可很方便插入到测试代码执行流程中

重要特性一览

  • Spring上下文加载(@ITestSpringContext)
  • Spring Bean依赖注入(@ITestSpringBean/@Resource/@Autowired)
  • 测试数据管理(@ITestDataSet)
  • 统一断言验证(assertThat、Matchers)
  • 自动打印调用入参和返回结果(LogInterceptor)
  • 事物自动回滚(TransactionalListener)
  • 多线程并行运行测试(ITestJunit4ThreadClassRunner)
  • Web容器上下文加载(@ITestWebContext)
  • Web测试入参加载(@ITestWebParam)
  • Web Response渲染为页面文件(@ITestWebRender)
  • Web容器类加载(@ITestClassLoader)
  • 测试环境Hsf服务启动(@ITestHsfStarter)
  • 测试Tair、Tfs模拟(TairManagerXmlStoreImpl、TfsManagerXmlStoreImpl)

项目主页:http://www.open-open.com/lib/view/home/1342602488526