TestNG源码
文章平均质量分 89
目前大多数博客介绍TestNG的使用,没有对源码进行分析,本着学习的态度,分析下源码
xiaoaiaxss
好记性不如烂笔头,拒绝一看就会,一面就废
展开
-
TestNG源码分析08-初始化04
TestNG初始化initializeDefaultListenersinitializeDefaultListeners现在我们开始讲说下第三个方法initializeDefaultListeners,这个方法主要是添加TestNG默认监听器private void initializeDefaultListeners() { /** * 调用上个文章讲到的addListener * exitCodeListener 实现了 ITestListener, IReporter */原创 2020-09-05 16:36:53 · 121 阅读 · 0 评论 -
TestNG源码分析07-初始化03
TestNG初始化initializeConfigurationaddServiceLoaderListenersaddListeners(XmlSuite s)addMethodSelectorinitializeConfiguration我们知道TestNG先执行了初始化,即执行了initializeEverything方法,这个方法内部有6个小方法,前面两节我们已经讲完了 initializeSuitesAndJarFile 方法,现在我们开始讲说下第二个方法initializeConfigura原创 2020-09-05 17:07:05 · 200 阅读 · 0 评论 -
TestNG源码分析06-初始化02
初始化解析xmlgetParser上节内容我们知道 TstNG 是通过 IFileParser 这个类解析xml 代码如下//获取 IFileParser 实例 默认是 SuiteXmlParserIFileParser<XmlSuite> fileParser = getParser(currentFile);//解析文件生成 XmlSuite XmlSuite currentXmlSuite = fileParser.parse(currentFile, inputStream原创 2020-09-01 09:15:33 · 273 阅读 · 0 评论 -
TestNG源码分析05-初始化01
TestNG初始化initializeEverythinginitializeSuitesAndJarFileparseSuiteParser.parseinitializeEverything从上面文章我们知道TestNG先执行了初始化,即执行了initializeEverything方法,上代码/** Invoked by the remote runner. */ public void initializeEverything() { // The Eclipse plug-in原创 2020-08-25 00:01:43 · 275 阅读 · 0 评论 -
TestNG源码分析04-RUN
TestNG运行runrun从前面的文章我们可以知道TestNG无论是从IDEA插件还是main方法最终都会调用org.testng.TestNG#run方法,所以我们这次就从run方法开始入手,看看内部到底发生了什么。先上代码/** Run TestNG. */ public void run() { initializeEverything(); sanityCheck(); runExecutionListeners(true /* start */);原创 2020-08-19 21:44:55 · 224 阅读 · 0 评论 -
TestNG源码分析03-IDEA插件
IDEA插件启动插件运行插件调用RemoteTestNGStarterIDEARemoteTestNG插件运行一般我们使用IDEA执行测试都是通过如下图的方式直接点击第5行绿色按钮运行整个测试类,如果有多个测试 方法则都会运行直接点击第8行绿色按钮运行某个具体方法这一点我们也可以通过IDEA的Run/Debug Configurations可以看到区别,如果我们通过第一种方式运行,Configuration下的TestKind为Class,如果通过第二种方式运行,Configuration下原创 2020-08-01 09:03:50 · 523 阅读 · 0 评论 -
TestNG源码分析02-启动
启动初识TestNG初识TestNGTestNG框架的核心类就是org.testng.TestNG这个类,从类的注释中我们可以很清楚的了解到如下内容:This class is the main entry point for running tests in the TestNG framework. Users can create their own TestNG object and invoke it in many different ways:On an existing testng原创 2020-07-30 21:50:04 · 268 阅读 · 0 评论 -
TestNG源码分析01-介绍
TestNG背景介绍背景目前大部分博客都是介绍TestNG这个框架如何使用,源码相关的东西很少,抱着学习的态度,想了解其中的奥秘,只能自己动手研究。本系列文章只做参考,如有问题,各位看官请多多指正,本人不胜感激介绍本文不再介绍如何使用TestNG,请自行搜索官网: 官方文档 使用版本号参考下方Maven依赖<dependency> <groupId>org.testng</groupId> <artifactId>testng</art原创 2020-07-26 11:04:03 · 104 阅读 · 0 评论