testng源码阅读之读后感
来源:互联网 发布:压力传感器和单片机 编辑:程序博客网 时间:2024/05/21 22:29
熟读唐诗三百首,不会吟来也会偷
testng其实是一个很久远的框架了。核心组件大概是在05年写的。为什么选择读这么久远的源码。主要原因也是因为它的应用范围广泛,资料齐全,而且使用起来确实很灵活可靠。如果想自己设计一个自动化执行/性能测试的框架,这块的源代码还是很有启发作用的。
粗略读完testng的代码,有几点让我印象深刻
精准的流程控制,简单可靠的核心引擎
testng的核心运行引擎,就是testngmethodrunner。一次执行一个方法,每个方法有独立的上线文。流程控制自顶向下,class、suite,method。每一步都定义了onBefore、onFinish,结合自定义的注释,用户可以很精准的控制测试的流程。
方便定制的钩子
testng里边,大量应用了反射,根据反射的技术相应的留了很多钩子给用户自定义。比如reporter、retry,报告跟自动重试。没看源代码之前,我是不知道他是如何能够这么灵活的,但是后来我发现,只是简单的一句 instanceof interface 任何扩展了指定的testng的接口的类,就能自动加载跟校验了。当然也跟我学习java不够系统有关,很多时候想不到这种实现方式。
有很多可以用的工具类
比如断言Assert、自定义的Logger、xml解析的包,还有支持master-slave模式的remote包,改吧改吧就能有一个小而全的分布式的小工具了。
阅读全文
0 0
- testng源码阅读之读后感
- testng源码阅读之二
- testng源码阅读之三
- testng源码阅读之四
- testng源码阅读之5
- testng源码阅读之6
- testng源码阅读之入口在哪
- testng源码阅读之多线程包
- 源码阅读之ArrayList
- 源码阅读之Vector
- Spring 源码阅读之BeanFactory
- Azkaban源码阅读之AzkabanApplication
- Azkaban源码阅读之CachingFlowManager
- 源码阅读之函数指针
- JDK源码阅读之ArrayList
- JDK源码阅读之LinkedList
- JDK源码阅读之Arrays
- JDK源码阅读之String
- SpringBoot-Kafka
- Minescape v4.116a 1CD(矿山开采三维(3D)CAD 软件集成系统
- Cmake简单使用
- ABAP常用字符串操作
- linux系统中主机名的设置
- testng源码阅读之读后感
- sql语句优化日记1
- 开发环境、测试环境、生产环境 到底是什么?
- 有源光缆AOC连接方案
- npm 国内
- OKCoin使用的比特币冷钱包解决方案
- 2017.11.16笔记
- js中实现子页面向父页面中赋值
- 博客开始要说的话