一、理解testNG的基本概念
testNG是一个用来简化跨度很大的测试的测试框架,从1个类的unit test到由多个类、多个package、甚至几个外部框架组成的集成测试,都能cover。
使用testNG最基本的3个步骤:
① 写测试的逻辑到方法或者类,并用annotation去标记;
② 把你想运行的测试(类或者方法,或者一组类,一组方法),写进一个suite.xml;
③ 用testNG去运行suite.xml
1)suite: xml的文件,通过<suite>来定义。包含1个或者多个test。
2)test: 通过<test>来定义,包含1个或者多个testNG classes。
3)testNG class: 包含至少1个testNG annotation的java class。被<class>标签定义,包含1个或者多个test method。
4)testNG method: 1个java方法,被@Test annotation修饰
5) group: 是从分类的角度,对test method或者test class进行分类。 source code中,group参数可以定义在class level和method level。
6)Listeners: 允许用户改变testNG特定测试阶段的行为的一些接口。
7)annotation: 用annotation修饰的方法,可以在testNG特定测试阶段运行。
二、testNG常见的listener
ITestNGListener: 主要用于表达分类的,没有任何方法定义的接口。
二、理解testNG listener的前后关系
1)custom listener 实现 多个listener,TestNGFlowListner.java
2) 写一个testcase的例子,SampleTest0.java
3)写一个suite.xml, testngflow.xml
4) 安装testNG 插件到eclipse中
5)新建maven project,引入testNG dependency
6) 运行 testngflow.xml, 得到输出如下:
三、testNG的入口TestNG类中的 run()
TestNG.java 的main函数
四、常用listener的flow图
通过二、6)和testNG的入口可知,能显示常用listener之间的flow图如下: