基于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)